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]) { |
124 |
|
case 'n': |
125 |
+ |
if (argv[a][2] || a+1 >= argc) |
126 |
+ |
break; |
127 |
|
idprefix = argv[++a]; |
128 |
|
continue; |
129 |
|
case 'e': |
130 |
+ |
if (argv[a][2]) |
131 |
+ |
break; |
132 |
|
expand = 1; |
133 |
|
continue; |
134 |
|
} |
135 |
|
break; |
136 |
|
} |
137 |
|
|
138 |
+ |
xav = argv; |
139 |
|
xfa = a; |
140 |
|
|
141 |
|
totscale = 1.0; |
146 |
|
if (reverse = totscale < 0.0) |
147 |
|
totscale = -totscale; |
148 |
|
|
149 |
+ |
if (a < argc && argv[a][0] == '-') { |
150 |
+ |
fprintf(stderr, "%s: command line error at '%s'\n", |
151 |
+ |
argv[0], argv[a]); |
152 |
+ |
exit(1); |
153 |
+ |
} |
154 |
|
xac = a; |
155 |
|
|
156 |
|
putchar('#'); /* simple header */ |
171 |
|
fclose(fp); |
172 |
|
} |
173 |
|
|
174 |
< |
exit(0); |
174 |
> |
return(0); |
175 |
> |
} |
176 |
> |
|
177 |
> |
|
178 |
> |
doarray(ac, av, ai) /* make array */ |
179 |
> |
char **av; |
180 |
> |
int ac, ai; |
181 |
> |
{ |
182 |
> |
char *newav[256], **avp; |
183 |
> |
char newid[128], repts[32]; |
184 |
> |
char *oldid = NULL; |
185 |
> |
int i, err; |
186 |
> |
|
187 |
> |
avp = newav+2; |
188 |
> |
avp[0] = av[0]; |
189 |
> |
for (i = 1; i < ac; i++) |
190 |
> |
if (!strcmp(av[i-1], "-n")) { |
191 |
> |
oldid = av[i]; |
192 |
> |
avp[i] = newid; |
193 |
> |
} else |
194 |
> |
avp[i] = av[i]; |
195 |
> |
avp[ai] = "-i"; |
196 |
> |
avp[ai+1] = repts; |
197 |
> |
avp[i] = NULL; |
198 |
> |
if (oldid == NULL) { |
199 |
> |
newav[0] = av[0]; |
200 |
> |
newav[1] = "-n"; |
201 |
> |
newav[2] = newid; |
202 |
> |
avp = newav; |
203 |
> |
ac += 2; |
204 |
> |
} |
205 |
> |
err = 0; |
206 |
> |
for (i = 0; i < atoi(av[ai+1]); i++) { |
207 |
> |
if (oldid == NULL) |
208 |
> |
sprintf(newid, "a%d", i); |
209 |
> |
else |
210 |
> |
sprintf(newid, "%s.%d", oldid, i); |
211 |
> |
sprintf(repts, "%d", i); |
212 |
> |
err |= main(ac, avp); |
213 |
> |
} |
214 |
> |
return(err); |
215 |
|
} |
216 |
|
|
217 |
|
|