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 1.7 by greg, Wed Oct 4 16:28:14 1989 UTC vs.
Revision 1.8 by greg, Thu Oct 5 09:49:04 1989 UTC

# Line 113 | Line 113 | char  *argv[];
113          FILE  *fopen();
114          FILE  *fp;
115          int  a;
116 +                                        /* check for array */
117 +        for (a = 1; a < argc; a++)
118 +                if (!strcmp(argv[a], "-a"))
119 +                        return(doarray(argc, argv, a));
120  
117        xav = argv;
118
121          for (a = 1; a < argc; a++) {
122                  if (argv[a][0] == '-')
123                          switch (argv[a][1]) {
# Line 129 | Line 131 | char  *argv[];
131                  break;
132          }
133  
134 +        xav = argv;
135          xfa = a;
136  
137          totscale = 1.0;
# Line 159 | Line 162 | char  *argv[];
162                          fclose(fp);
163                  }
164  
165 <        exit(0);
165 >        return(0);
166 > }
167 >
168 >
169 > doarray(ac, av, ai)                     /* make array */
170 > char  **av;
171 > int  ac, ai;
172 > {
173 >        char  *newav[256], **avp;
174 >        char  newid[128], repts[32];
175 >        char  *oldid = NULL;
176 >        int  i, err;
177 >        
178 >        avp = newav+2;
179 >        avp[0] = av[0];
180 >        for (i = 1; i < ac; i++)
181 >                if (!strcmp(av[i-1], "-n")) {
182 >                        oldid = av[i];
183 >                        avp[i] = newid;
184 >                } else
185 >                        avp[i] = av[i];
186 >        avp[ai] = "-i";
187 >        avp[ai+1] = repts;
188 >        avp[i] = NULL;
189 >        if (oldid == NULL) {
190 >                newav[0] = av[0];
191 >                newav[1] = "-n";
192 >                newav[2] = newid;
193 >                avp = newav;
194 >                ac += 2;
195 >        }
196 >        err = 0;
197 >        for (i = 0; i < atoi(av[ai+1]); i++) {
198 >                if (oldid == NULL)
199 >                        sprintf(newid, "a%d", i);
200 >                else
201 >                        sprintf(newid, "%s.%d", oldid, i);
202 >                sprintf(repts, "%d", i);
203 >                err |= main(ac, avp);
204 >        }
205 >        return(err);
206   }
207  
208  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines