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

Comparing ray/src/common/readobj.c (file contents):
Revision 2.11 by greg, Tue Mar 11 19:29:04 2003 UTC vs.
Revision 2.20 by greg, Tue Mar 30 12:42:33 2010 UTC

# Line 9 | Line 9 | static const char RCSid[] = "$Id$";
9  
10   #include "copyright.h"
11  
12 < #include  "standard.h"
12 > #include  <ctype.h>
13 > #include  <string.h>
14 > #include  <stdio.h>
15  
16 + #include  "platform.h"
17 + #include  "rtprocess.h"
18 + #include  "standard.h"
19   #include  "object.h"
15
20   #include  "otypes.h"
21  
18 #include  <ctype.h>
22  
23   OBJREC  *objblock[MAXOBJBLK];           /* our objects */
24   OBJECT  nobjects = 0;                   /* # of objects */
# Line 27 | Line 30 | char  *inpspec;
30   {
31          OBJECT  lastobj;
32          FILE  *infp;
33 <        char  buf[1024];
33 >        char  buf[2048];
34          register int  c;
35  
36          lastobj = nobjects;
# Line 85 | Line 88 | FILE  *fp;
88                                          /* get modifier */
89          strcpy(sbuf, "EOF");
90          fgetword(sbuf, MAXSTR, fp);
91 +        if (strchr(sbuf, '\t')) {
92 +                sprintf(errmsg, "(%s): illegal tab in modifier \"%s\"",
93 +                                        name, sbuf);
94 +                error(USER, errmsg);
95 +        }
96          if (!strcmp(sbuf, VOIDID))
97                  objp->omod = OVOID;
98          else if (!strcmp(sbuf, ALIASMOD))
# Line 103 | Line 111 | FILE  *fp;
111                                          /* get identifier */
112          sbuf[0] = '\0';
113          fgetword(sbuf, MAXSTR, fp);
114 +        if (strchr(sbuf, '\t')) {
115 +                sprintf(errmsg, "(%s): illegal tab in identifier \"%s\"",
116 +                                        name, sbuf);
117 +                error(USER, errmsg);
118 +        }
119          objp->oname = savqstr(sbuf);
120                                          /* get arguments */
121          if (objp->otype == MOD_ALIAS) {
# Line 163 | Line 176 | newobject()                            /* get a new object */
176  
177   void
178   freeobjects(firstobj, nobjs)            /* free a range of objects */
179 < OBJECT  firstobj, nobjs;
179 > int  firstobj, nobjs;
180   {
181          register int  obj;
182                                          /* check bounds */
# Line 179 | Line 192 | OBJECT  firstobj, nobjs;
192                  free_os(o);             /* free client memory */
193                  freeqstr(o->oname);
194                  freefargs(&o->oargs);
195 <                bzero(o, sizeof(OBJREC));
195 >                memset((void *)o, '\0', sizeof(OBJREC));
196          }
197          clearobjndx();
198                                          /* free objects off end */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines