--- ray/src/common/otypes.c 1989/04/10 21:30:17 1.2 +++ ray/src/common/otypes.c 1990/01/05 09:16:40 1.3 @@ -140,6 +140,7 @@ register struct ohtab *tab; } /* look up object */ hval = shash(name); +tryagain: for (i = 0; i < tab->hsiz; i++) { ndx = (hval + i*i) % tab->hsiz; if (tab->htab[ndx] == OVOID || @@ -156,5 +157,5 @@ register struct ohtab *tab; tab->htab[i] = oldhtab[ndx]; } free((char *)oldhtab); - return(otndx(name, tab)); + goto tryagain; /* should happen only once! */ }