#include "netdissect.h"
#include "extract.h"
-static const char tstr[] = " [|telnet]";
#define TELCMDS
#define TELOPTS
{
static char buf[20];
- nd_snprintf(buf, sizeof(buf), "%#x", x);
+ snprintf(buf, sizeof(buf), "%#x", x);
return buf;
}
do { \
if (length < 1) \
goto pktend; \
- ND_TCHECK_1(sp); \
- c = EXTRACT_U_1(sp); \
+ c = GET_U_1(sp); \
sp++; \
length--; \
} while (0)
/* IAC SB .... IAC SE */
p = sp;
while (length > (u_int)(p + 1 - sp)) {
- ND_TCHECK_2(p);
- if (EXTRACT_U_1(p) == IAC && EXTRACT_U_1(p + 1) == SE)
+ if (GET_U_1(p) == IAC && GET_U_1(p + 1) == SE)
break;
p++;
}
- ND_TCHECK_1(p);
- if (EXTRACT_U_1(p) != IAC)
+ if (GET_U_1(p) != IAC)
goto pktend;
switch (x) {
}
done:
- return sp - osp;
+ return (int)(sp - osp);
-trunc:
- ND_PRINT("%s", tstr);
pktend:
return -1;
#undef FETCH
const u_char *osp;
int l;
+ ndo->ndo_protocol = "telnet";
osp = sp;
- ND_TCHECK_1(sp);
- while (length > 0 && EXTRACT_U_1(sp) == IAC) {
+ while (length > 0 && GET_U_1(sp) == IAC) {
/*
* Parse the Telnet command without printing it,
* to determine its length.
if (ndo->ndo_Xflag && 2 < ndo->ndo_vflag) {
if (first)
ND_PRINT("\nTelnet:");
- hex_print_with_offset(ndo, "\n", sp, l, sp - osp);
+ hex_print_with_offset(ndo, "\n", sp, l, (u_int)(sp - osp));
if (l > 8)
ND_PRINT("\n\t\t\t\t");
else
}
return;
trunc:
- ND_PRINT("%s", tstr);
+ nd_print_trunc(ndo);
}