189 |
|
|
190 |
|
|
191 |
|
void |
192 |
< |
clearobjndx(void) /* clear object hash tables */ |
192 |
> |
truncobjndx(void) /* remove bogus table entries past end */ |
193 |
|
{ |
194 |
< |
if (modtab.htab != NULL) { |
195 |
< |
free((void *)modtab.htab); |
196 |
< |
modtab.htab = NULL; |
197 |
< |
modtab.hsiz = 100; |
194 |
> |
int ndx; |
195 |
> |
|
196 |
> |
if (nobjects <= 0) { |
197 |
> |
if (modtab.htab != NULL) { |
198 |
> |
free((void *)modtab.htab); |
199 |
> |
modtab.htab = NULL; |
200 |
> |
modtab.hsiz = 100; |
201 |
> |
} |
202 |
> |
if (objtab.htab != NULL) { |
203 |
> |
free((void *)objtab.htab); |
204 |
> |
objtab.htab = NULL; |
205 |
> |
objtab.hsiz = 100; |
206 |
> |
} |
207 |
> |
return; |
208 |
|
} |
209 |
< |
if (objtab.htab != NULL) { |
210 |
< |
free((void *)objtab.htab); |
211 |
< |
objtab.htab = NULL; |
212 |
< |
objtab.hsiz = 100; |
213 |
< |
} |
209 |
> |
for (ndx = modtab.hsiz*(modtab.htab != NULL); ndx--; ) |
210 |
> |
if (modtab.htab[ndx] >= nobjects) |
211 |
> |
modtab.htab[ndx] = OVOID; |
212 |
> |
|
213 |
> |
for (ndx = objtab.hsiz*(objtab.htab != NULL); ndx--; ) |
214 |
> |
if (objtab.htab[ndx] >= nobjects) |
215 |
> |
objtab.htab[ndx] = OVOID; |
216 |
|
} |
217 |
|
|
218 |
|
|