]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-ipcomp.c
remove redundant ND_TCHECK, let GET_ routines handle checks
[tcpdump] / print-ipcomp.c
index 291caa97d81de5d465008fcbe1957a7cd3930700..98e2999cb862c82ff5b14ed1d10f13713bacdc4b 100644 (file)
 /* \summary: IP Payload Compression Protocol (IPComp) printer */
 
 #ifdef HAVE_CONFIG_H
-#include "config.h"
+#include <config.h>
 #endif
 
-#include <netdissect-stdinc.h>
-
-struct ipcomp {
-       uint8_t comp_nxt;       /* Next Header */
-       uint8_t comp_flags;     /* Length of data, in 32bit */
-       uint16_t comp_cpi;      /* Compression parameter index */
-};
+#include "netdissect-stdinc.h"
 
 #include "netdissect.h"
 #include "extract.h"
 
+struct ipcomp {
+       nd_uint8_t  comp_nxt;   /* Next Header */
+       nd_uint8_t  comp_flags; /* Length of data, in 32bit */
+       nd_uint16_t comp_cpi;   /* Compression parameter index */
+};
+
 void
-ipcomp_print(netdissect_options *ndo, register const u_char *bp)
+ipcomp_print(netdissect_options *ndo, const u_char *bp)
 {
-       register const struct ipcomp *ipcomp;
+       const struct ipcomp *ipcomp;
        uint16_t cpi;
 
+       ndo->ndo_protocol = "ipcomp";
        ipcomp = (const struct ipcomp *)bp;
-       ND_TCHECK(*ipcomp);
-       cpi = EXTRACT_16BITS(&ipcomp->comp_cpi);
+       ND_TCHECK_SIZE(ipcomp);
+       cpi = GET_BE_U_2(ipcomp->comp_cpi);
 
-       ND_PRINT((ndo, "IPComp(cpi=0x%04x)", cpi));
+       ND_PRINT("IPComp(cpi=0x%04x)", cpi);
 
        /*
         * XXX - based on the CPI, we could decompress the packet here.
@@ -64,6 +65,6 @@ ipcomp_print(netdissect_options *ndo, register const u_char *bp)
        return;
 
 trunc:
-       ND_PRINT((ndo, "[|IPCOMP]"));
+       nd_print_trunc(ndo);
        return;
 }