X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/8b1d184e10263b5889ffcfbc4887ca82d7ca07df..675f67a20b0a94eef8288b0016f959a1597615cc:/print-arcnet.c diff --git a/print-arcnet.c b/print-arcnet.c index 18d90aa9..d229631a 100644 --- a/print-arcnet.c +++ b/print-arcnet.c @@ -130,18 +130,18 @@ arcnet_print(netdissect_options *ndo, const u_char *bp, u_int length, int phds, if (ndo->ndo_qflag) { ND_PRINT("%02x %02x %u: ", - EXTRACT_U_1(ap->arc_shost), - EXTRACT_U_1(ap->arc_dhost), + GET_U_1(ap->arc_shost), + GET_U_1(ap->arc_dhost), length); return; } - arctypename = tok2str(arctypemap, "%02x", EXTRACT_U_1(ap->arc_type)); + arctypename = tok2str(arctypemap, "%02x", GET_U_1(ap->arc_type)); if (!phds) { ND_PRINT("%02x %02x %s %u: ", - EXTRACT_U_1(ap->arc_shost), - EXTRACT_U_1(ap->arc_dhost), + GET_U_1(ap->arc_shost), + GET_U_1(ap->arc_dhost), arctypename, length); return; @@ -149,8 +149,8 @@ arcnet_print(netdissect_options *ndo, const u_char *bp, u_int length, int phds, if (flag == 0) { ND_PRINT("%02x %02x %s seqid %04x %u: ", - EXTRACT_U_1(ap->arc_shost), - EXTRACT_U_1(ap->arc_dhost), + GET_U_1(ap->arc_shost), + GET_U_1(ap->arc_dhost), arctypename, seqid, length); return; @@ -159,15 +159,15 @@ arcnet_print(netdissect_options *ndo, const u_char *bp, u_int length, int phds, if (flag & 1) ND_PRINT("%02x %02x %s seqid %04x " "(first of %u fragments) %u: ", - EXTRACT_U_1(ap->arc_shost), - EXTRACT_U_1(ap->arc_dhost), + GET_U_1(ap->arc_shost), + GET_U_1(ap->arc_dhost), arctypename, seqid, (flag + 3) / 2, length); else ND_PRINT("%02x %02x %s seqid %04x " "(fragment %u) %u: ", - EXTRACT_U_1(ap->arc_shost), - EXTRACT_U_1(ap->arc_dhost), + GET_U_1(ap->arc_shost), + GET_U_1(ap->arc_dhost), arctypename, seqid, flag/2 + 1, length); } @@ -191,13 +191,13 @@ arcnet_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h, const u_ch u_char arc_type; ndo->ndo_protocol = "arcnet_if"; - if (caplen < ARC_HDRLEN || length < ARC_HDRLEN) { - ND_PRINT("[|arcnet]"); + if (caplen < ARC_HDRLEN) { + nd_print_trunc(ndo); return (caplen); } ap = (const struct arc_header *)p; - arc_type = EXTRACT_U_1(ap->arc_type); + arc_type = GET_U_1(ap->arc_type); switch (arc_type) { default: @@ -212,24 +212,26 @@ arcnet_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h, const u_ch } if (phds) { - if (caplen < ARC_HDRNEWLEN || length < ARC_HDRNEWLEN) { + if (caplen < ARC_HDRNEWLEN) { arcnet_print(ndo, p, length, 0, 0, 0); - ND_PRINT("[|phds]"); + ND_PRINT(" phds"); + nd_print_trunc(ndo); return (caplen); } - flag = EXTRACT_U_1(ap->arc_flag); + flag = GET_U_1(ap->arc_flag); if (flag == 0xff) { - if (caplen < ARC_HDRNEWLEN_EXC || length < ARC_HDRNEWLEN_EXC) { + if (caplen < ARC_HDRNEWLEN_EXC) { arcnet_print(ndo, p, length, 0, 0, 0); - ND_PRINT("[|phds extended]"); + ND_PRINT(" phds extended"); + nd_print_trunc(ndo); return (caplen); } - flag = EXTRACT_U_1(ap->arc_flag2); - seqid = EXTRACT_BE_U_2(ap->arc_seqid2); + flag = GET_U_1(ap->arc_flag2); + seqid = GET_BE_U_2(ap->arc_seqid2); archdrlen = ARC_HDRNEWLEN_EXC; } else { - seqid = EXTRACT_BE_U_2(ap->arc_seqid); + seqid = GET_BE_U_2(ap->arc_seqid); archdrlen = ARC_HDRNEWLEN; } } @@ -279,19 +281,19 @@ arcnet_linux_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h, cons u_char arc_type; ndo->ndo_protocol = "arcnet_linux_if"; - if (caplen < ARC_LINUX_HDRLEN || length < ARC_LINUX_HDRLEN) { - ND_PRINT("[|arcnet]"); + if (caplen < ARC_LINUX_HDRLEN) { + nd_print_trunc(ndo); return (caplen); } ap = (const struct arc_linux_header *)p; - arc_type = EXTRACT_U_1(ap->arc_type); + arc_type = GET_U_1(ap->arc_type); switch (arc_type) { default: archdrlen = ARC_LINUX_HDRNEWLEN; - if (caplen < ARC_LINUX_HDRNEWLEN || length < ARC_LINUX_HDRNEWLEN) { - ND_PRINT("[|arcnet]"); + if (caplen < ARC_LINUX_HDRNEWLEN) { + nd_print_trunc(ndo); return (caplen); } break;