From 9a054520852368c0a0d179bedfce60776587a645 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Sun, 7 Feb 2010 16:51:28 -0800 Subject: make flate crc32 work when ulong is 64 bits R=, rsc CC= http://codereview.appspot.com/203061 --- include/flate.h | 6 +++--- include/u.h | 7 +++++++ src/cmd/jpg/readpng.c | 6 +++--- src/cmd/jpg/writepng.c | 6 +++--- src/cmd/scat/sky.h | 1 - src/libflate/adler.c | 6 +++--- src/libflate/crc.c | 12 ++++++------ 7 files changed, 25 insertions(+), 19 deletions(-) diff --git a/include/flate.h b/include/flate.h index e908ec25..e4855597 100644 --- a/include/flate.h +++ b/include/flate.h @@ -42,10 +42,10 @@ int deflatezlibblock(uchar *dst, int dsize, uchar *src, int ssize, int level, in char *flateerr(int err); -ulong *mkcrctab(ulong); -ulong blockcrc(ulong *tab, ulong crc, void *buf, int n); +uint32 *mkcrctab(uint32); +uint32 blockcrc(uint32 *tab, uint32 crc, void *buf, int n); -ulong adler32(ulong adler, void *buf, int n); +uint32 adler32(uint32 adler, void *buf, int n); #if defined(__cplusplus) } #endif diff --git a/include/u.h b/include/u.h index e4279179..0e56f98b 100644 --- a/include/u.h +++ b/include/u.h @@ -157,6 +157,13 @@ typedef intptr_t intptr; typedef uint32_t u32int; typedef int32_t s32int; +typedef u32int uint32; +typedef s32int int32; +typedef u16int uint16; +typedef s16int int16; +typedef u64int uint64; +typedef s64int int64; + #undef _NEEDUCHAR #undef _NEEDUSHORT #undef _NEEDUINT diff --git a/src/cmd/jpg/readpng.c b/src/cmd/jpg/readpng.c index 2985c5ff..5fdbc1db 100644 --- a/src/cmd/jpg/readpng.c +++ b/src/cmd/jpg/readpng.c @@ -44,11 +44,11 @@ typedef struct ZlibR{ ZlibW *w; } ZlibR; -static ulong *crctab; +static uint32 *crctab; static uchar PNGmagic[] = {137,80,78,71,13,10,26,10}; static char memerr[] = "ReadPNG: malloc failed: %r"; -static ulong +static uint32 get4(uchar *a) { return (a[0]<<24) | (a[1]<<16) | (a[2]<<8) | a[3]; @@ -87,7 +87,7 @@ static int getchunk(Biobuf *b, char *type, uchar *d, int m) { uchar buf[8]; - ulong crc = 0, crc2; + uint32 crc = 0, crc2; int n, nr; if(Bread(b, buf, 8) != 8) diff --git a/src/cmd/jpg/writepng.c b/src/cmd/jpg/writepng.c index 3b63bb7f..76835e01 100644 --- a/src/cmd/jpg/writepng.c +++ b/src/cmd/jpg/writepng.c @@ -31,11 +31,11 @@ typedef struct ZlibW{ uchar *e; /* past end of buf */ } ZlibW; -static ulong *crctab; +static uint32 *crctab; static uchar PNGmagic[] = {137,80,78,71,13,10,26,10}; static void -put4(uchar *a, ulong v) +put4(uchar *a, uint32 v) { a[0] = v>>24; a[1] = v>>16; @@ -47,7 +47,7 @@ static void chunk(Biobuf *bo, char *type, uchar *d, int n) { uchar buf[4]; - ulong crc = 0; + uint32 crc = 0; if(strlen(type) != 4) return; diff --git a/src/cmd/scat/sky.h b/src/cmd/scat/sky.h index 158dd1c7..6be98145 100644 --- a/src/cmd/scat/sky.h +++ b/src/cmd/scat/sky.h @@ -1,4 +1,3 @@ -typedef s32int int32; #define DIR "#9/sky" /* diff --git a/src/libflate/adler.c b/src/libflate/adler.c index 22fb8f6d..538e70f7 100644 --- a/src/libflate/adler.c +++ b/src/libflate/adler.c @@ -8,10 +8,10 @@ enum ADLERBASE = 65521 /* largest prime smaller than 65536 */ }; -ulong -adler32(ulong adler, void *vbuf, int n) +uint32 +adler32(uint32 adler, void *vbuf, int n) { - ulong s1, s2; + uint32 s1, s2; uchar *buf, *ebuf; int m; diff --git a/src/libflate/crc.c b/src/libflate/crc.c index 4da78f6c..8085c23e 100644 --- a/src/libflate/crc.c +++ b/src/libflate/crc.c @@ -2,11 +2,11 @@ #include #include -ulong* -mkcrctab(ulong poly) +uint32* +mkcrctab(uint32 poly) { - ulong *crctab; - ulong crc; + uint32 *crctab; + uint32 crc; int i, j; crctab = malloc(256 * sizeof(ulong)); @@ -26,8 +26,8 @@ mkcrctab(ulong poly) return crctab; } -ulong -blockcrc(ulong *crctab, ulong crc, void *vbuf, int n) +uint32 +blockcrc(uint32 *crctab, uint32 crc, void *vbuf, int n) { uchar *buf, *ebuf; -- cgit v1.2.3