diff -uNp ish201a5.orig/crc32.c ish201a5/crc32.c --- ish201a5.orig/crc32.c Wed Apr 20 14:23:00 1994 +++ ish201a5/crc32.c Tue Dec 20 18:56:44 2011 @@ -78,6 +78,7 @@ unsigned char *arg; int len; unsigned long crc; { + crc &= 0xffffffffU; while(--len >= 0) { crc = crc >> 8 ^ crctbl[(crc & 0xff) ^ *arg++]; } diff -uNp ish201a5.orig/mvol.c ish201a5/mvol.c --- ish201a5.orig/mvol.c Sun Jan 7 19:47:17 1996 +++ ish201a5/mvol.c Tue Dec 20 20:07:46 2011 @@ -248,7 +248,7 @@ unsigned char *p; } close(id); close(od); - crc32 = ~crc32; + crc32 = ~crc32 & 0xffffffffU; crc16 = ~crc16; if (crc32 == ncrc32 && crc16 == ncrc16) { /* checksum OK */