198 |
|
freefargs(&o->oargs); |
199 |
|
memset((void *)o, '\0', sizeof(OBJREC)); |
200 |
|
} |
201 |
– |
clearobjndx(); |
201 |
|
/* free objects off end */ |
202 |
|
for (obj = nobjects; obj-- > 0; ) |
203 |
|
if (objptr(obj)->oname != NULL) |
204 |
|
break; |
205 |
< |
++obj; |
205 |
> |
if (++obj >= nobjects) |
206 |
> |
return; |
207 |
|
while (nobjects > obj) /* free empty end blocks */ |
208 |
|
if ((--nobjects & (OBJBLKSIZ-1)) == 0) { |
209 |
|
int i = nobjects >> OBJBLKSHFT; |
210 |
|
free((void *)objblock[i]); |
211 |
|
objblock[i] = NULL; |
212 |
|
} |
213 |
+ |
truncobjndx(); /* truncate modifier look-up */ |
214 |
|
} |