| 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 |
|
|