]> The Tcpdump Group git mirrors - tcpdump/blobdiff - in_cksum.c
Makefile.in: don't remove configure and config.h.in in make distclean.
[tcpdump] / in_cksum.c
index caf4b6af40f42925d38c3a142555f23abb2fef6f..eb7c634f0ab0e60f49bed330530cf762c55a2d71 100644 (file)
  */
 
 #ifdef HAVE_CONFIG_H
-# include "config.h"
+# include <config.h>
 #endif
 
-#include <netdissect-stdinc.h>
+#include "netdissect-stdinc.h"
 
-#include "interface.h"
+#include "netdissect.h"
 
 /*
  * Checksum routine for Internet Protocol family headers (Portable Version).
@@ -56,9 +56,9 @@
 uint16_t
 in_cksum(const struct cksum_vec *vec, int veclen)
 {
-       register const uint16_t *w;
-       register int sum = 0;
-       register int mlen = 0;
+       const uint16_t *w;
+       int sum = 0;
+       int mlen = 0;
        int byte_swapped = 0;
 
        union {
@@ -92,7 +92,7 @@ in_cksum(const struct cksum_vec *vec, int veclen)
                /*
                 * Force to even boundary.
                 */
-               if ((1 & (unsigned long) w) && (mlen > 0)) {
+               if ((1 & (uintptr_t) w) && (mlen > 0)) {
                        REDUCE;
                        sum <<= 8;
                        s_util.c[0] = *(const uint8_t *)w;
@@ -196,5 +196,5 @@ in_cksum_shouldbe(uint16_t sum, uint16_t computed_sum)
        shouldbe += ntohs(computed_sum);
        shouldbe = (shouldbe & 0xFFFF) + (shouldbe >> 16);
        shouldbe = (shouldbe & 0xFFFF) + (shouldbe >> 16);
-       return shouldbe;
+       return (uint16_t)shouldbe;
 }