X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/fb2479d733dbe8a991d11909b319341f7db62ab1..1ed63b5d0630a4b5b4a8d31174d9f3e95a970913:/print-loopback.c diff --git a/print-loopback.c b/print-loopback.c index e0c6efbd..a18bde2c 100644 --- a/print-loopback.c +++ b/print-loopback.c @@ -42,7 +42,6 @@ #include "extract.h" #include "addrtoname.h" -static const char tstr[] = " [|loopback]"; #define LOOPBACK_REPLY 1 #define LOOPBACK_FWDDATA 2 @@ -56,14 +55,14 @@ static const struct tok fcode_str[] = { static void loopback_message_print(netdissect_options *ndo, const u_char *cp, const u_int len) { - const u_char *ep = cp + len; + const u_char *ep = ndo->ndo_snapend; uint16_t function; if (len < 2) goto invalid; /* function */ ND_TCHECK_2(cp); - function = EXTRACT_LE_U_2(cp); + function = GET_LE_U_2(cp); cp += 2; ND_PRINT(", %s", tok2str(fcode_str, " invalid (%u)", function)); @@ -73,7 +72,7 @@ loopback_message_print(netdissect_options *ndo, const u_char *cp, const u_int le goto invalid; /* receipt number */ ND_TCHECK_2(cp); - ND_PRINT(", receipt number %u", EXTRACT_LE_U_2(cp)); + ND_PRINT(", receipt number %u", GET_LE_U_2(cp)); cp += 2; /* data */ ND_PRINT(", data (%u octets)", len - 4); @@ -97,25 +96,26 @@ loopback_message_print(netdissect_options *ndo, const u_char *cp, const u_int le return; invalid: - ND_PRINT("%s", istr); + nd_print_invalid(ndo); ND_TCHECK_LEN(cp, ep - cp); return; trunc: - ND_PRINT("%s", tstr); + nd_print_trunc(ndo); } void loopback_print(netdissect_options *ndo, const u_char *cp, const u_int len) { - const u_char *ep = cp + len; + const u_char *ep = ndo->ndo_snapend; uint16_t skipCount; + ndo->ndo_protocol = "loopback"; ND_PRINT("Loopback"); if (len < 2) goto invalid; /* skipCount */ ND_TCHECK_2(cp); - skipCount = EXTRACT_LE_U_2(cp); + skipCount = GET_LE_U_2(cp); cp += 2; ND_PRINT(", skipCount %u", skipCount); if (skipCount % 8) @@ -126,10 +126,10 @@ loopback_print(netdissect_options *ndo, const u_char *cp, const u_int len) return; invalid: - ND_PRINT("%s", istr); + nd_print_invalid(ndo); ND_TCHECK_LEN(cp, ep - cp); return; trunc: - ND_PRINT("%s", tstr); + nd_print_trunc(ndo); }