aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@swtch.com>2010-02-07 16:51:28 -0800
committerRuss Cox <rsc@swtch.com>2010-02-07 16:51:28 -0800
commit9a054520852368c0a0d179bedfce60776587a645 (patch)
tree7e81f14ee45eb81ebbfbbd49e119d7f6ee7086c3
parent28afa898ee3281afde739c9a09e59264680756ae (diff)
downloadplan9port-9a054520852368c0a0d179bedfce60776587a645.tar.gz
plan9port-9a054520852368c0a0d179bedfce60776587a645.tar.bz2
plan9port-9a054520852368c0a0d179bedfce60776587a645.zip
make flate crc32 work when ulong is 64 bits
R=, rsc CC= http://codereview.appspot.com/203061
-rw-r--r--include/flate.h6
-rw-r--r--include/u.h7
-rw-r--r--src/cmd/jpg/readpng.c6
-rw-r--r--src/cmd/jpg/writepng.c6
-rw-r--r--src/cmd/scat/sky.h1
-rw-r--r--src/libflate/adler.c6
-rw-r--r--src/libflate/crc.c12
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 <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));
@@ -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;