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

Comparing ray/src/gen/xform.c (file contents):
Revision 2.17 by gwlarson, Fri Jun 4 09:26:04 1999 UTC vs.
Revision 2.20 by gwlarson, Fri Jun 4 16:22:06 1999 UTC

# Line 152 | Line 152 | char  **av;
152   int  ac, fi;
153   {
154          char  *newav[256], **avp;
155 <        char  argbuf[2048];
155 >        char  argbuf[1024];
156          char  newid[128];
157          char  *oldid;
158          register char   *cp;
# Line 179 | Line 179 | int  ac, fi;
179                  }
180                  n = 0;                  /* count number of lines in file */
181                  while (fgets(argbuf,sizeof(argbuf),argfp) != NULL)
182 <                        n++;
182 >                        n += argbuf[0] != '\n' & argbuf[0] != '#';
183                  if (!n) {
184                          fprintf(stderr, "%s: empty argument file \"%s\"\n",
185                                          av[0], av[fi+1]);
# Line 188 | Line 188 | int  ac, fi;
188                  nrept *= n;
189                  rewind(argfp);
190          }
191 <        err = 0;                        /* read each arg list and call main */
192 <        for (k = 0; fgets(argbuf,sizeof(argbuf),argfp) != NULL; k++) {
191 >        err = 0; k = 0;                 /* read each arg list and call main */
192 >        while (fgets(argbuf,sizeof(argbuf),argfp) != NULL) {
193 >                if (argbuf[0] == '\n' | argbuf[0] == '#')
194 >                        continue;
195                  avp = newav+2;
196                  avp[0] = av[0];
197                  for (i = 1; i < fi; i++)
198                          avp[i] = av[i];
199                  newac = i;
200 <                cp = argbuf;                    /* parse new words */
200 >                cp = argbuf;            /* parse new words */
201 >                if (*cp == '!') cp++;
202 >                if (!strncmp(cp, "xform ", 6)) cp += 6;
203                  for ( ; ; ) {
204                          while (isspace(*cp))    /* nullify spaces */
205                                  *cp++ = '\0';
# Line 227 | Line 231 | int  ac, fi;
231                  else
232                          sprintf(newid, "%s.%d", oldid, k);
233                  err |= main(newac, avp);
234 +                k++;
235          }
236          fclose(argfp);
237          return(err);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines