]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-loopback.c
Add the nd_print_invalid() function
[tcpdump] / print-loopback.c
index f9dda1a591044614daf131e389dfd434ff56d5a1..ea7d728023ff60e919f950f203e860286eb1e7d4 100644 (file)
  */
 
 #ifdef HAVE_CONFIG_H
-#include "config.h"
+#include <config.h>
 #endif
 
-#include <netdissect-stdinc.h>
+#include "netdissect-stdinc.h"
 
 #include "netdissect.h"
 #include "extract.h"
 #include "addrtoname.h"
 
-static const char tstr[] = " [|loopback]";
 
 #define LOOPBACK_REPLY   1
 #define LOOPBACK_FWDDATA 2
@@ -56,7 +55,7 @@ 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)
@@ -97,19 +96,20 @@ 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;
@@ -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);
 }