X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/c672f002763b3a4fc30ca229e57f50d3b2e6d766..b5766c04d26abdf5b5ee99c8147d67b5ef20a364:/print-bootp.c diff --git a/print-bootp.c b/print-bootp.c index f0cc5aec..11b37557 100644 --- a/print-bootp.c +++ b/print-bootp.c @@ -22,21 +22,14 @@ */ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/tcpdump/print-bootp.c,v 1.60 2001-09-17 21:57:56 fenner Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-bootp.c,v 1.64 2002-08-01 08:53:02 risso Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H #include "config.h" #endif -#include -#include -#include - -struct mbuf; -struct rtentry; - -#include +#include #include #include @@ -349,13 +342,14 @@ static struct tok arp2str[] = { static void rfc1048_print(register const u_char *bp) { - register u_char tag; + register u_int16_t tag; register u_int len, size; register const char *cp; register char c; int first; u_int32_t ul; - u_short us; + u_int16_t us; + u_int8_t uc; printf(" vend-rfc1048"); @@ -376,9 +370,9 @@ rfc1048_print(register const u_char *bp) * preclude overlap of 1-byte and 2-byte spaces. * If not, we need to offset tag after this step. */ - cp = tok2str(xtag2str, "?xT%d", tag); + cp = tok2str(xtag2str, "?xT%u", tag); } else - cp = tok2str(tag2str, "?T%d", tag); + cp = tok2str(tag2str, "?T%u", tag); c = *cp++; printf(" %s:", cp); @@ -394,8 +388,8 @@ rfc1048_print(register const u_char *bp) } if (tag == TAG_DHCP_MESSAGE && len == 1) { - c = *bp++; - switch (c) { + uc = *bp++; + switch (uc) { case DHCPDISCOVER: printf("DISCOVER"); break; case DHCPOFFER: printf("OFFER"); break; case DHCPREQUEST: printf("REQUEST"); break; @@ -404,7 +398,7 @@ rfc1048_print(register const u_char *bp) case DHCPNAK: printf("NACK"); break; case DHCPRELEASE: printf("RELEASE"); break; case DHCPINFORM: printf("INFORM"); break; - default: printf("%u", c); break; + default: printf("%u", uc); break; } continue; } @@ -412,8 +406,8 @@ rfc1048_print(register const u_char *bp) if (tag == TAG_PARM_REQUEST) { first = 1; while (len-- > 0) { - c = *bp++; - cp = tok2str(tag2str, "?T%d", c); + uc = *bp++; + cp = tok2str(tag2str, "?T%u", uc); if (!first) putchar('+'); printf("%s", cp + 1); @@ -425,9 +419,9 @@ rfc1048_print(register const u_char *bp) first = 1; while (len > 1) { len -= 2; - c = EXTRACT_16BITS(bp); + us = EXTRACT_16BITS(bp); bp += 2; - cp = tok2str(xtag2str, "?xT%d", c); + cp = tok2str(xtag2str, "?xT%u", us); if (!first) putchar('+'); printf("%s", cp + 1); @@ -502,7 +496,7 @@ rfc1048_print(register const u_char *bp) if (!first) putchar(','); us = EXTRACT_16BITS(bp); - printf("%d", us); + printf("%u", us); bp += sizeof(us); size -= sizeof(us); first = 0; @@ -522,7 +516,7 @@ rfc1048_print(register const u_char *bp) putchar('Y'); break; default: - printf("%d?", *bp); + printf("%u?", *bp); break; } ++bp; @@ -541,7 +535,7 @@ rfc1048_print(register const u_char *bp) if (c == 'x') printf("%02x", *bp); else - printf("%d", *bp); + printf("%u", *bp); ++bp; --size; first = 0; @@ -568,7 +562,7 @@ rfc1048_print(register const u_char *bp) if (*bp++) printf("[svrreg]"); if (*bp) - printf("%d/%d/", *bp, *(bp+1)); + printf("%u/%u/", *bp, *(bp+1)); bp += 2; putchar('"'); (void)fn_printn(bp, size - 3, NULL); @@ -582,7 +576,7 @@ rfc1048_print(register const u_char *bp) size--; if (type == 0) { putchar('"'); - (void)fn_printn(bp, size, NULL); + (void)fn_printn(bp, size, NULL); putchar('"'); break; } else { @@ -600,7 +594,7 @@ rfc1048_print(register const u_char *bp) } default: - printf("[unknown special tag %d, size %d]", + printf("[unknown special tag %u, size %u]", tag, size); bp += size; size = 0; @@ -610,7 +604,7 @@ rfc1048_print(register const u_char *bp) } /* Data left over? */ if (size) - printf("[len %d]", len); + printf("[len %u]", len); } return; trunc: