diff options
author | Peter Wemm <peter@FreeBSD.org> | 1998-12-16 06:01:33 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 1998-12-16 06:01:33 +0000 |
commit | 3f0340f8380a31b202f649cba5b820bd673aca93 (patch) | |
tree | acc43053c1287ceb27fe85e1a2c13b77ac7b5498 /crypto/telnet/telnetd/utility.c | |
parent | c399ed564cde7c3cdbe340ec8c2e20cc14585379 (diff) | |
download | src-3f0340f8380a31b202f649cba5b820bd673aca93.tar.gz src-3f0340f8380a31b202f649cba5b820bd673aca93.zip |
Old stuff from a source tree: copy (verbatum) the code to expand the
%s/%m in the default /etc/gettytab.
Notes
Notes:
svn path=/head/; revision=41856
Diffstat (limited to 'crypto/telnet/telnetd/utility.c')
-rw-r--r-- | crypto/telnet/telnetd/utility.c | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/crypto/telnet/telnetd/utility.c b/crypto/telnet/telnetd/utility.c index 4c9dec1c118e..08ad0bbe776c 100644 --- a/crypto/telnet/telnetd/utility.c +++ b/crypto/telnet/telnetd/utility.c @@ -36,11 +36,12 @@ static const char sccsid[] = "@(#)utility.c 8.4 (Berkeley) 5/30/95"; #endif static const char rcsid[] = - "$Id$"; + "$Id: utility.c,v 1.3 1998/02/16 12:09:28 markm Exp $"; #endif /* not lint */ #ifdef __FreeBSD__ #include <locale.h> +#include <sys/utsname.h> #endif #define PRINTOPTIONS #include "telnetd.h" @@ -471,11 +472,21 @@ putf(cp, where) #else extern char *strrchr(); #endif +#ifdef __FreeBSD__ + static struct utsname kerninfo; + + if (!*kerninfo.sysname) + uname(&kerninfo); +#endif putlocation = where; while (*cp) { - if (*cp != '%') { + if (*cp =='\n') { + putstr("\r\n"); + cp++; + continue; + } else if (*cp != '%') { putchr(*cp++); continue; } @@ -507,6 +518,24 @@ putf(cp, where) putstr(db); break; +#ifdef __FreeBSD__ + case 's': + putstr(kerninfo.sysname); + break; + + case 'm': + putstr(kerninfo.machine); + break; + + case 'r': + putstr(kerninfo.release); + break; + + case 'v': + putstr(kerninfo.version); + break; +#endif + case '%': putchr('%'); break; |