On Fri, 31 Jan 2014 18:43:50 +0100 FRIGN <d...@frign.de> wrote: > Using the C99 PRIu32-macro and %zu-format-specifier increase > portability and avoid these unnecessary casts.
Argh, I forgot C90 didn't support the z-format-specifier. So, we won't get around casting len to unsigned long -.-. Please let me know if I should check the code for more of those cases. Here's the fixed patch: diff --git a/cksum.c b/cksum.c index 25f7274..e762e85 100644 --- a/cksum.c +++ b/cksum.c @@ -1,5 +1,6 @@ /* See LICENSE file for copyright and license details. */ #include <stdint.h> +#include <inttypes.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -106,7 +107,7 @@ cksum(FILE *fp, const char *s) for(i = len; i > 0; i >>= 8) ck = (ck << 8) ^ crctab[(ck >> 24) ^ (i & 0xFF)]; - printf("%lu %lu", (unsigned long)~ck, (unsigned long)len); + printf("%"PRIu32" %lu", ~ck, (unsigned long)len); if(s != NULL) printf(" %s", s); putchar('\n'); -- FRIGN <d...@frign.de>