aboutsummaryrefslogtreecommitdiff
path: root/src/libdraw
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-01-14 03:33:11 +0000
committerrsc <devnull@localhost>2005-01-14 03:33:11 +0000
commit2634795b5f0053bc0ff08e5d7bbc0eda8efea061 (patch)
treee787c3f184a1f72fe10a3bc13304e27d9c0b941d /src/libdraw
parent93aa30a8df668b3ad5806c417acb65d2a4663178 (diff)
downloadplan9port-2634795b5f0053bc0ff08e5d7bbc0eda8efea061.tar.gz
plan9port-2634795b5f0053bc0ff08e5d7bbc0eda8efea061.tar.bz2
plan9port-2634795b5f0053bc0ff08e5d7bbc0eda8efea061.zip
64-bit fixes from lucho
Diffstat (limited to 'src/libdraw')
-rw-r--r--src/libdraw/bytesperline.c2
-rw-r--r--src/libdraw/md-alloc.c16
-rw-r--r--src/libdraw/md-defont.c2
-rw-r--r--src/libdraw/md-fillpoly.c4
4 files changed, 13 insertions, 11 deletions
diff --git a/src/libdraw/bytesperline.c b/src/libdraw/bytesperline.c
index 08ff7d7f..056ac7c2 100644
--- a/src/libdraw/bytesperline.c
+++ b/src/libdraw/bytesperline.c
@@ -24,7 +24,7 @@ unitsperline(Rectangle r, int d, int bitsperunit)
int
wordsperline(Rectangle r, int d)
{
- return unitsperline(r, d, 8*sizeof(ulong));
+ return unitsperline(r, d, 8*sizeof(u32int));
}
int
diff --git a/src/libdraw/md-alloc.c b/src/libdraw/md-alloc.c
index b4204f4e..89755ee9 100644
--- a/src/libdraw/md-alloc.c
+++ b/src/libdraw/md-alloc.c
@@ -19,7 +19,7 @@ memimagemove(void *from, void *to)
md->base = to;
/* if allocmemimage changes this must change too */
- md->bdata = (uchar*)&md->base[2];
+ md->bdata = (uchar*)((ulong*)md->base+2);
}
Memimage*
@@ -71,6 +71,7 @@ _allocmemimage(Rectangle r, u32int chan)
{
int d;
u32int l, nw;
+ ulong *ul;
Memdata *md;
Memimage *i;
@@ -87,22 +88,23 @@ _allocmemimage(Rectangle r, u32int chan)
md->ref = 1;
/*
- * The first two words are the md and the callerpc.
+ * The first two ulongs are the md and the callerpc.
* Then nw words of data.
* The final word lets the drawing routines be a little
* sloppy about reading past the end of the block.
*/
- md->base = poolalloc(imagmem, (2+nw+1)*sizeof(u32int));
+ md->base = poolalloc(imagmem, 2*sizeof(ulong)+(nw+1)*sizeof(u32int));
if(md->base == nil){
free(md);
return nil;
}
- md->base[0] = (u32int)md;
- md->base[1] = getcallerpc(&r);
+ ul = (ulong*)md->base;
+ ul[0] = (ulong)md;
+ ul[1] = getcallerpc(&r);
/* if this changes, memimagemove must change too */
- md->bdata = (uchar*)&md->base[2];
+ md->bdata = (uchar*)(ul+2);
md->allocd = 1;
@@ -135,7 +137,7 @@ _freememimage(Memimage *i)
u32int*
wordaddr(Memimage *i, Point p)
{
- return (u32int*) ((u32int)byteaddr(i, p) & ~(sizeof(u32int)-1));
+ return (u32int*) ((ulong)byteaddr(i, p) & ~(sizeof(u32int)-1));
}
uchar*
diff --git a/src/libdraw/md-defont.c b/src/libdraw/md-defont.c
index 446c2e93..1e9e01ed 100644
--- a/src/libdraw/md-defont.c
+++ b/src/libdraw/md-defont.c
@@ -21,7 +21,7 @@ getmemdefont(void)
* declared as char*, not u32int*.
*/
p = (char*)defontdata;
- n = (u32int)p & 3;
+ n = (ulong)p & 3;
if(n != 0){
memmove(p+(4-n), p, sizeofdefont-n);
p += 4-n;
diff --git a/src/libdraw/md-fillpoly.c b/src/libdraw/md-fillpoly.c
index 928ae1e1..fcacae51 100644
--- a/src/libdraw/md-fillpoly.c
+++ b/src/libdraw/md-fillpoly.c
@@ -126,7 +126,7 @@ mod(long x, long y)
long z;
z = x%y;
- if((long)(((u32int)z)^((u32int)y)) > 0 || z == 0)
+ if((long)(((ulong)z)^((ulong)y)) > 0 || z == 0)
return z;
return z + y;
}
@@ -134,7 +134,7 @@ mod(long x, long y)
static long
sdiv(long x, long y)
{
- if((long)(((u32int)x)^((u32int)y)) >= 0 || x == 0)
+ if((long)(((ulong)x)^((ulong)y)) >= 0 || x == 0)
return x/y;
return (x+((y>>30)|1))/y-1;