#ifdef THREE_PASS
extern char bittab[BITMAX>>3];
/* one bit per small-large decision */
-extern short nbits; /* number of decisions so far */
+extern long nbits; /* number of decisions so far */
#endif
#ifdef LISTING
nosect();
if (bflag)
return(0);
- if ((bit = nbits++) >= BITMAX) {
- if (bit != BITMAX)
- nbits--; /* prevent wraparound */
+ if (nbits == BITMAX) {
else if (pass == PASS_1)
warning("bit table overflow");
return(0);
}
- p = &bittab[bit>>3];
- bit = 1 << (bit&7);
+ p = &bittab[(int) (nbits>>3)];
+ bit = 1 << ((int)nbits&7);
+ nbits++;
switch (pass) {
case PASS_1:
return(0);