Index: bsdsfv/bsdsfv.c =================================================================== --- bsdsfv.orig/bsdsfv.c +++ bsdsfv/bsdsfv.c @@ -59,10 +59,10 @@ typedef struct sfvtable { #include <sys/stat.h> #include <sys/mman.h> #include <dirent.h> +#include <inttypes.h> - -long -UpdateCRC(unsigned long CRC, const char *buffer, long count) +int32_t +UpdateCRC(uint32_t CRC, const char *buffer, int32_t count) { /* * Note: if you want to know how CRC32-checking works, I @@ -70,7 +70,7 @@ UpdateCRC(unsigned long CRC, const char * There is not much you can change in this function, so * if you need a CRC32-check yourself, feel free to rip. */ - unsigned long CRCTABLE[] = { + uint32_t CRCTABLE[] = { 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, @@ -175,13 +175,13 @@ UpdateCRC(unsigned long CRC, const char -long +int32_t GetFileCRC(char *filename) { - unsigned long crc = 0xffffffff; + uint32_t crc = 0xffffffff; FILE *f; - long totalread = 0; - long localread; + int32_t totalread = 0; + int32_t localread; /* * Note: different buffer sizes may result in noticable @@ -306,7 +306,7 @@ main(int argc, char *argv[]) FILE *missingfile; DIR *dirp; struct dirent *dp; - long mycrc; + int32_t mycrc; int cnt; int dothisone; char cfname[FNAMELEN]; @@ -487,8 +487,8 @@ main(int argc, char *argv[]) printf("Adding file: %s ... ", cfname); fflush(stdout); mycrc = GetFileCRC(cfname); - printf("CRC = 0x%08lX\n", mycrc); - sprintf(sfvline, "%s %08lX", cfname, mycrc); + printf("CRC = 0x%08" PRIX32 "\n", mycrc); + sprintf(sfvline, "%s %08" PRIX32, cfname, mycrc); // uncomment next 2 lines to // convert filename to upper case, for whatever reason @@ -516,7 +516,7 @@ main(int argc, char *argv[]) printf("Testing %s ... ", cfname); fflush(stdout); mycrc = GetFileCRC(cfname); - printf("local = 0x%08lX, listed = ", mycrc); + printf("local = 0x%08" PRIX32 ", listed = ", mycrc); fflush(stdout); sfvfile = fopen(sfvname, "rt"); @@ -675,7 +675,7 @@ main(int argc, char *argv[]) mycrc = GetFileCRC(dp->d_name); - printf("local = 0x%08lX ... ", mycrc); + printf("local = 0x%08" PRIX32 " ... ", mycrc); if (mycrc == sfvTable[cnt].crc) { printf("OK\n");