--- ray/src/common/modobject.c 2003/02/25 02:47:21 2.8 +++ ray/src/common/modobject.c 2004/07/14 02:37:23 2.12 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: modobject.c,v 2.8 2003/02/25 02:47:21 greg Exp $"; +static const char RCSid[] = "$Id: modobject.c,v 2.12 2004/07/14 02:37:23 greg Exp $"; #endif /* * Routines for tracking object modifiers @@ -21,10 +21,10 @@ static struct ohtab { OBJECT *htab; /* table, if allocated */ } modtab = {100, NULL}, objtab = {1000, NULL}; /* modifiers and objects */ -static int otndx(); +static int otndx(char *, struct ohtab *); -int +OBJECT objndx(op) /* get object number from pointer */ register OBJREC *op; { @@ -32,14 +32,14 @@ register OBJREC *op; for (i = nobjects>>OBJBLKSHFT; i >= 0; i--) { j = op - objblock[i]; - if (j >= 0 && j < OBJBLKSIZ) + if ((j >= 0) & (j < OBJBLKSIZ)) return((i< 0; ) { /* need to search */ op = objptr(i); @@ -59,7 +59,7 @@ char *mname; } -int +OBJECT modifier(mname) /* get a modifier number from its name */ char *mname; { @@ -71,7 +71,7 @@ char *mname; #ifdef GETOBJ -int +OBJECT object(oname) /* get an object number from its name */ char *oname; { @@ -158,7 +158,7 @@ register struct ohtab *tab; hval = shash(name); tryagain: for (i = 0; i < tab->hsiz; i++) { - ndx = (hval + i*i) % tab->hsiz; + ndx = (hval + (unsigned long)i*i) % tab->hsiz; if (tab->htab[ndx] == OVOID || !strcmp(objptr(tab->htab[ndx])->oname, name)) return(ndx);