--- a/src/invlib.c.orig 2006-11-11 01:39:19.000000000 +0100 +++ b/src/invlib.c 2006-11-11 01:39:09.000000000 +0100 @@ -170,7 +170,7 @@ /* set up as though a block had come and gone, i.e., set up for new block */ /* FIXME HBB: magic number alert (16) */ - amtused = 16; /* leave no space - init 3 words + one for luck */ + amtused = 4 * sizeof(long); /* leave no space - init 3 words + one for luck */ numinvitems = 0; numlogblk = 0; lastinblk = sizeof(t_logicalblk); @@ -436,7 +436,7 @@ invcannotwrite(indexfile); return(0); } - amtused = 16; + amtused = 4 * sizeof(long); numlogblk++; /* check if had to back up, if so do it */ if (backupflag) { @@ -467,7 +467,7 @@ while (tptr3 > tptr) *--tptr2 = *--tptr3; lastinblk -= j; - amtused += (8 * backupflag + j); + amtused += (2 * sizeof(long) * backupflag + j); for (i = 3; i < (backupflag * 2 + 2); i += 2) { iteminfo.packword[0] = logicalblk.invblk[i]; iteminfo.e.offset += (tptr2 - tptr3);