--- ray/src/common/objset.c 2003/04/23 00:52:33 2.10 +++ ray/src/common/objset.c 2003/10/20 15:10:18 2.14 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: objset.c,v 2.10 2003/04/23 00:52:33 greg Exp $"; +static const char RCSid[] = "$Id: objset.c,v 2.14 2003/10/20 15:10:18 greg Exp $"; #endif /* * objset.c - routines for maintaining object sets. @@ -16,10 +16,10 @@ static const char RCSid[] = "$Id: objset.c,v 2.10 2003 #include "object.h" #ifndef OSTSIZ -#ifdef BIGMEM -#define OSTSIZ 262139 /* object table size (a prime!) */ -#else +#ifdef SMLMEM #define OSTSIZ 32749 /* object table size (a prime!) */ +#else +#define OSTSIZ 262139 /* object table size (a prime!) */ #endif #endif @@ -209,11 +209,12 @@ tryagain: ot = oseti(i*OSTSIZ + osentry); if (*os > 0) /* found it */ return(ot); - if (!isfull(ot)) /* entry overflow */ + if (!isfull(ot)) { /* entry overflow */ if (++ntries < OSTSIZ) goto tryagain; else error(INTERNAL, "hash table overflow in fullnode"); + } /* remember position */ i = os - ostable[osentry]; os = ostable[osentry] = (OBJECT *)realloc( @@ -229,6 +230,7 @@ tryagain: return(ot); memerr: error(SYSTEM, "out of memory in fullnode"); + return 0; /* pro forma return */ }