30 |
|
|
31 |
|
|
32 |
|
char * |
33 |
< |
bmalloc(n) /* allocate a block of n bytes, no refunds */ |
33 |
> |
bmalloc(n) /* allocate a block of n bytes */ |
34 |
|
register unsigned n; |
35 |
|
{ |
36 |
|
if (n > nremain && (n > MBLKSIZ || nremain > MBLKSIZ/WASTEFRAC)) |
38 |
|
|
39 |
|
n = (n+(BYTES_WORD-1))&~(BYTES_WORD-1); /* word align */ |
40 |
|
|
41 |
< |
if (n > nremain) { |
42 |
< |
if ((bposition = malloc((unsigned)MBLKSIZ)) == NULL) { |
43 |
< |
nremain = 0; |
44 |
< |
return(NULL); |
45 |
< |
} |
46 |
< |
nremain = MBLKSIZ; |
41 |
> |
if (n > nremain && (bposition = malloc(nremain = MBLKSIZ)) == NULL) { |
42 |
> |
nremain = 0; |
43 |
> |
return(NULL); |
44 |
|
} |
45 |
|
bposition += n; |
46 |
|
nremain -= n; |