Index: core/ipv4/ipv4.c =================================================================== --- core/ipv4/ipv4.c (revision 3578) +++ core/ipv4/ipv4.c (working copy) @@ -565,7 +565,7 @@ iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); } -static inline unsigned short from32to16(unsigned long x) +static inline unsigned short from32to16(unsigned int x) { /* add up 16-bit and 16-bit for 16+c bit */ x = (x & 0xffff) + (x >> 16); @@ -574,10 +574,10 @@ return x; } -static unsigned long do_csum(const unsigned char * buff, int len) +static unsigned int do_csum(const unsigned char * buff, int len) { int odd, count; - unsigned long result = 0; + unsigned int result = 0; if (len <= 0) return 0; @@ -819,7 +819,7 @@ switch (iph->protocol) { case IPPROTO_ICMP: icmph = (struct icmphdr *)(iph + 1); - ptr += sprintf(ptr, "%u %u ", + ptr += sprintf(ptr, "%Zu %u ", iplen - sizeof(struct icmphdr), iph->protocol); if (len < sizeof(struct icmphdr)) { @@ -855,7 +855,7 @@ case IPPROTO_UDP: udph = (struct udphdr *)(iph + 1); - ptr += sprintf(ptr, "%u %u ", + ptr += sprintf(ptr, "%Zu %u ", iplen - sizeof(struct udphdr), iph->protocol); if (len < sizeof(struct udphdr)) { @@ -891,7 +891,7 @@ tcph = (struct tcphdr *)(iph + 1); if (len < sizeof(struct tcphdr)) { /* Assume no tcp options... */ - ptr += sprintf(ptr, "%u %u ", + ptr += sprintf(ptr, "%Zu %u ", iplen - sizeof(*tcph), iph->protocol); ptr += sprintf(ptr, "-TRUNCATED-");