summaryrefslogtreecommitdiff
path: root/usr.bin/telnet
diff options
context:
space:
mode:
authorMark Murray <markm@FreeBSD.org>2002-12-29 07:36:43 +0000
committerMark Murray <markm@FreeBSD.org>2002-12-29 07:36:43 +0000
commit5d899d80f05037b7cfe5f253b4a9b0cea6e8b43f (patch)
tree09434ea7e25abdfce1390fb8889ab2f3d8a601af /usr.bin/telnet
parenta28cc55e5b1977b4a8abb5f2a43255ad3e448076 (diff)
downloadsrc-test2-5d899d80f05037b7cfe5f253b4a9b0cea6e8b43f.tar.gz
src-test2-5d899d80f05037b7cfe5f253b4a9b0cea6e8b43f.zip
Notes
Diffstat (limited to 'usr.bin/telnet')
-rw-r--r--usr.bin/telnet/telnet.c41
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()