summaryrefslogtreecommitdiff
path: root/misc/bsdsfv/bsdsfv-1.18-64bit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'misc/bsdsfv/bsdsfv-1.18-64bit.patch')
-rw-r--r--misc/bsdsfv/bsdsfv-1.18-64bit.patch83
1 files changed, 83 insertions, 0 deletions
diff --git a/misc/bsdsfv/bsdsfv-1.18-64bit.patch b/misc/bsdsfv/bsdsfv-1.18-64bit.patch
new file mode 100644
index 0000000000..d55b42d01b
--- /dev/null
+++ b/misc/bsdsfv/bsdsfv-1.18-64bit.patch
@@ -0,0 +1,83 @@
+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");