X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/7c4458eb6a0cd2a617adb9a3bbca44e9f59f3937..4890d02f2cbdfd68f0dfb8ce7123fb61b4a591d4:/print-token.c diff --git a/print-token.c b/print-token.c index 9fa0b63b..3f1f44ba 100644 --- a/print-token.c +++ b/print-token.c @@ -25,7 +25,7 @@ */ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/tcpdump/print-token.c,v 1.9 2000-12-18 05:42:00 guy Exp $"; + "@(#) $Header: /tcpdump/master/tcpdump/print-token.c,v 1.11 2000-12-23 20:48:13 guy Exp $"; #endif #ifdef HAVE_CONFIG_H @@ -136,10 +136,10 @@ token_if_print(u_char *user, const struct pcap_pkthdr *h, const u_char *p) */ snapend = p + caplen; /* - * Actually, the only printer that uses packetp is print-bootp.c, - * and it assumes that packetp points to an Ethernet header. The - * right thing to do is to fix print-bootp.c to know which link - * type is in use when it excavates. XXX + * Actually, the only printers that use packetp are print-arp.c + * and print-bootp.c, and they assume that packetp points to an + * Ethernet header. The right thing to do is to fix them to know + * which link type is in use when they excavate. XXX */ packetp = (u_char *)&ehdr; @@ -184,7 +184,8 @@ token_if_print(u_char *user, const struct pcap_pkthdr *h, const u_char *p) &extracted_ethertype) == 0) { /* ether_type not known, print raw packet */ if (!eflag) - token_print(trp, length, + token_print(trp, + length + TOKEN_HDRLEN + route_len, ESRC(&ehdr), EDST(&ehdr)); if (extracted_ethertype) { printf("(LLC %s) ", @@ -197,7 +198,8 @@ token_if_print(u_char *user, const struct pcap_pkthdr *h, const u_char *p) /* Some kinds of TR packet we cannot handle intelligently */ /* XXX - dissect MAC packets if frame type is 0 */ if (!eflag) - token_print(trp, length, ESRC(&ehdr), EDST(&ehdr)); + token_print(trp, length + TOKEN_HDRLEN + route_len, + ESRC(&ehdr), EDST(&ehdr)); if (!xflag && !qflag) default_print(p, caplen); }