diff options
author | Mark Murray <markm@FreeBSD.org> | 2002-12-29 07:36:43 +0000 |
---|---|---|
committer | Mark Murray <markm@FreeBSD.org> | 2002-12-29 07:36:43 +0000 |
commit | 5d899d80f05037b7cfe5f253b4a9b0cea6e8b43f (patch) | |
tree | 09434ea7e25abdfce1390fb8889ab2f3d8a601af /usr.bin/telnet | |
parent | a28cc55e5b1977b4a8abb5f2a43255ad3e448076 (diff) | |
download | src-test2-5d899d80f05037b7cfe5f253b4a9b0cea6e8b43f.tar.gz src-test2-5d899d80f05037b7cfe5f253b4a9b0cea6e8b43f.zip |
Notes
Diffstat (limited to 'usr.bin/telnet')
-rw-r--r-- | usr.bin/telnet/telnet.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/usr.bin/telnet/telnet.c b/usr.bin/telnet/telnet.c index 997115215619..27aeaa9a7d8d 100644 --- a/usr.bin/telnet/telnet.c +++ b/usr.bin/telnet/telnet.c @@ -1946,6 +1946,47 @@ telnet(char *user __unusedhere) } } +#if 0 /* XXX - this not being in is a bug */ +/* + * nextitem() + * + * Return the address of the next "item" in the TELNET data + * stream. This will be the address of the next character if + * the current address is a user data character, or it will + * be the address of the character following the TELNET command + * if the current address is a TELNET IAC ("I Am a Command") + * character. + */ + +static char * +nextitem(char *current) +{ + if ((*current&0xff) != IAC) { + return current+1; + } + switch (*(current+1)&0xff) { + case DO: + case DONT: + case WILL: + case WONT: + return current+3; + case SB: /* loop forever looking for the SE */ + { + char *look = current+2; + + for (;;) { + if ((*look++&0xff) == IAC) { + if ((*look++&0xff) == SE) { + return look; + } + } + } + } + default: + return current+2; + } +} +#endif /* 0 */ /* * netclear() |