summaryrefslogtreecommitdiff
path: root/sys/src/cmd
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2015-11-24 11:02:04 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2015-11-24 11:02:04 +0100
commite82b10ffb480c85a80af21d016f3f8a30db08156 (patch)
tree89b1b681187de6c6f936c966e9a7662ce4a65805 /sys/src/cmd
parent518fd3ec8350a010e5ed6490e1106c66af8f4d02 (diff)
disksim: don't assume 4-byte pointers
Diffstat (limited to 'sys/src/cmd')
-rw-r--r--sys/src/cmd/aux/disksim.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/sys/src/cmd/aux/disksim.c b/sys/src/cmd/aux/disksim.c
index 1f600a768..3d261ea54 100644
--- a/sys/src/cmd/aux/disksim.c
+++ b/sys/src/cmd/aux/disksim.c
@@ -20,8 +20,7 @@ enum
{
LOGBLKSZ = 13,
BLKSZ = 1<<LOGBLKSZ, /* 8192 */
- LOGNPTR = LOGBLKSZ-2, /* assume sizeof(void*) == 4 */
- NPTR = 1<<LOGNPTR,
+ NPTR = BLKSZ/sizeof(void*),
};
static uchar zero[BLKSZ];
@@ -251,12 +250,12 @@ getblock(vlong addr, int alloc)
addr >>= LOGBLKSZ;
oaddr = addr<<LOGBLKSZ;
- i0 = addr & (NPTR-1);
- addr >>= LOGNPTR;
- i1 = addr & (NPTR-1);
- addr >>= LOGNPTR;
- i2 = addr & (NPTR-1);
- addr >>= LOGNPTR;
+ i0 = addr % NPTR;
+ addr /= NPTR;
+ i1 = addr % NPTR;
+ addr /= NPTR;
+ i2 = addr % NPTR;
+ addr /= NPTR;
assert(addr == 0);
if((p2 = trip.dbl[i2]) == 0){
@@ -633,8 +632,6 @@ main(int argc, char **argv)
file = nil;
quotefmtinstall();
time0 = time(0);
- if(NPTR != BLKSZ/sizeof(void*))
- sysfatal("unexpected pointer size");
ARGBEGIN{
case 'D':