tmake flate crc32 work when ulong is 64 bits - plan9port - [fork] Plan 9 from user space (HTM) git clone git://src.adamsgaard.dk/plan9port (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit 9a054520852368c0a0d179bedfce60776587a645 (DIR) parent 28afa898ee3281afde739c9a09e59264680756ae (HTM) Author: Russ Cox <rsc@swtch.com> Date: Sun, 7 Feb 2010 16:51:28 -0800 make flate crc32 work when ulong is 64 bits R=, rsc CC= http://codereview.appspot.com/203061 Diffstat: M include/flate.h | 6 +++--- M include/u.h | 7 +++++++ M src/cmd/jpg/readpng.c | 6 +++--- M src/cmd/jpg/writepng.c | 6 +++--- M src/cmd/scat/sky.h | 1 - M src/libflate/adler.c | 6 +++--- M src/libflate/crc.c | 12 ++++++------ 7 files changed, 25 insertions(+), 19 deletions(-) --- (DIR) diff --git a/include/flate.h b/include/flate.h t@@ -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 (DIR) diff --git a/include/u.h b/include/u.h t@@ -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 (DIR) diff --git a/src/cmd/jpg/readpng.c b/src/cmd/jpg/readpng.c t@@ -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]; t@@ -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) (DIR) diff --git a/src/cmd/jpg/writepng.c b/src/cmd/jpg/writepng.c t@@ -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; t@@ -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; (DIR) diff --git a/src/cmd/scat/sky.h b/src/cmd/scat/sky.h t@@ -1,4 +1,3 @@ -typedef s32int int32; #define DIR "#9/sky" /* (DIR) diff --git a/src/libflate/adler.c b/src/libflate/adler.c t@@ -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; (DIR) diff --git a/src/libflate/crc.c b/src/libflate/crc.c t@@ -2,11 +2,11 @@ #include <libc.h> #include <flate.h> -ulong* -mkcrctab(ulong poly) +uint32* +mkcrctab(uint32 poly) { - ulong *crctab; - ulong crc; + uint32 *crctab; + uint32 crc; int i, j; crctab = malloc(256 * sizeof(ulong)); t@@ -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;