ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/modobject.c
(Generate patch)

Comparing ray/src/common/modobject.c (file contents):
Revision 2.12 by greg, Wed Jul 14 02:37:23 2004 UTC vs.
Revision 2.13 by greg, Sat Mar 9 18:53:05 2013 UTC

# Line 25 | Line 25 | static int  otndx(char *, struct ohtab *);
25  
26  
27   OBJECT
28 < objndx(op)                      /* get object number from pointer */
29 < register OBJREC  *op;
28 > objndx(                         /* get object number from pointer */
29 >        OBJREC  *op
30 > )
31   {
32 <        register int  i, j;
32 >        int  i, j;
33  
34          for (i = nobjects>>OBJBLKSHFT; i >= 0; i--) {
35                  j = op - objblock[i];
# Line 40 | Line 41 | register OBJREC  *op;
41  
42  
43   OBJECT
44 < lastmod(obj, mname)             /* find modifier definition before obj */
45 < OBJECT  obj;
46 < char  *mname;
44 > lastmod(                        /* find modifier definition before obj */
45 >        OBJECT  obj,
46 >        char  *mname
47 > )
48   {
49 <        register OBJREC  *op;
50 <        register int  i;
49 >        OBJREC  *op;
50 >        int  i;
51  
52          i = modifier(mname);            /* try hash table first */
53          if ((obj == OVOID) | (i < obj))
54                  return(i);
55          for (i = obj; i-- > 0; ) {      /* need to search */
56                  op = objptr(i);
57 <                if (ismodifier(op->otype) && !strcmp(op->oname, mname))
57 >                if (ismodifier(op->otype) && op->oname[0] == mname[0] &&
58 >                                        !strcmp(op->oname, mname))
59                          return(i);
60          }
61          return(OVOID);
# Line 60 | Line 63 | char  *mname;
63  
64  
65   OBJECT
66 < modifier(mname)                 /* get a modifier number from its name */
67 < char  *mname;
66 > modifier(                       /* get a modifier number from its name */
67 >        char  *mname
68 > )
69   {
70 <        register int  ndx;
70 >        int  ndx;
71  
72          ndx = otndx(mname, &modtab);
73          return(modtab.htab[ndx]);
# Line 72 | Line 76 | char  *mname;
76  
77   #ifdef  GETOBJ
78   OBJECT
79 < object(oname)                   /* get an object number from its name */
80 < char  *oname;
79 > object(                         /* get an object number from its name */
80 >        char  *oname
81 > )
82   {
83 <        register int  ndx;
83 >        int  ndx;
84  
85          ndx = otndx(oname, &objtab);
86          return(objtab.htab[ndx]);
# Line 84 | Line 89 | char  *oname;
89  
90  
91   void
92 < insertobject(obj)               /* insert new object into our list */
93 < register OBJECT  obj;
92 > insertobject(                   /* insert new object into our list */
93 >        OBJECT  obj
94 > )
95   {
96 <        register int  i;
96 >        int  i;
97  
98          if (ismodifier(objptr(obj)->otype)) {
99                  i = otndx(objptr(obj)->oname, &modtab);
# Line 105 | Line 111 | register OBJECT  obj;
111  
112  
113   void
114 < clearobjndx()                   /* clear object hash tables */
114 > clearobjndx(void)               /* clear object hash tables */
115   {
116          if (modtab.htab != NULL) {
117                  free((void *)modtab.htab);
# Line 121 | Line 127 | clearobjndx()                  /* clear object hash tables */
127  
128  
129   static int
130 < nexthsiz(oldsiz)                /* return next hash table size */
131 < int  oldsiz;
130 > nexthsiz(                       /* return next hash table size */
131 >        int  oldsiz
132 > )
133   {
134          static int  hsiztab[] = {
135                  251, 509, 1021, 2039, 4093, 8191, 16381, 0
136          };
137 <        register int  *hsp;
137 >        int  *hsp;
138  
139          for (hsp = hsiztab; *hsp; hsp++)
140                  if (*hsp > oldsiz)
# Line 137 | Line 144 | int  oldsiz;
144  
145  
146   static int
147 < otndx(name, tab)                /* get object table index for name */
148 < char  *name;
149 < register struct ohtab  *tab;
147 > otndx(                          /* get object table index for name */
148 >        char  *name,
149 >        struct ohtab  *tab
150 > )
151   {
152          OBJECT  *oldhtab;
153          int  hval, i;
154 <        register int  ndx;
154 >        int  ndx;
155  
156          if (tab->htab == NULL) {                /* new table */
157                  tab->hsiz = nexthsiz(tab->hsiz);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines