106 |
|
sprintf(newp, "%s.%s", |
107 |
|
idprefix, argv[a]); |
108 |
|
if (mal_prefix++) |
109 |
< |
free((void *)idprefix); |
109 |
> |
free(idprefix); |
110 |
|
idprefix = newp; |
111 |
|
} |
112 |
|
continue; |
134 |
|
|
135 |
|
a += xf(&tot, argc-a, argv+a); |
136 |
|
|
137 |
< |
if ( (reverse = tot.sca < 0.0) ) |
137 |
> |
if ( (reverse = (tot.sca < 0.0)) ) |
138 |
|
tot.sca = -tot.sca; |
139 |
|
if (invert) |
140 |
|
reverse = !reverse; |
167 |
|
} |
168 |
|
|
169 |
|
if (mal_prefix) |
170 |
< |
free((void *)idprefix); |
170 |
> |
free(idprefix); |
171 |
|
return(0); |
172 |
|
} |
173 |
|
|
182 |
|
int inquote; |
183 |
|
char *newav[256], **avp; |
184 |
|
char argbuf[2048]; |
185 |
< |
char newid[128]; |
185 |
> |
char *newid, newidbuf[128]; |
186 |
|
char *oldid; |
187 |
|
register char *cp; |
188 |
|
FILE *argfp; |
258 |
|
for (i = fi+2; i < ac; i++) |
259 |
|
avp[newac++] = av[i]; |
260 |
|
avp[newac] = NULL; |
261 |
+ |
newid = newidbuf; |
262 |
|
oldid = NULL; |
263 |
|
for (i = 2; i < newac; i++) |
264 |
|
if (!strcmp(avp[i-1], "-n")) { |
265 |
|
oldid = avp[i]; |
266 |
+ |
if (strlen(oldid)+32 > sizeof(newidbuf)) { |
267 |
+ |
newid = (char *)malloc(strlen(oldid)+32); |
268 |
+ |
if (newid == NULL) |
269 |
+ |
exit(2); |
270 |
+ |
} |
271 |
|
avp[i] = newid; |
272 |
|
break; |
273 |
|
} |
283 |
|
else |
284 |
|
sprintf(newid, "%s.%d", oldid, k); |
285 |
|
err |= main(newac, avp); |
286 |
+ |
if (newid != newidbuf) |
287 |
+ |
free(newid); |
288 |
|
k++; |
289 |
|
} |
290 |
|
fclose(argfp); |
929 |
|
tinvers[OBJ_CYLINDER] = OBJ_TUBE; |
930 |
|
tinvers[OBJ_TUBE] = OBJ_CYLINDER; |
931 |
|
tinvers[OBJ_INSTANCE] = OBJ_INSTANCE; /* oh, well */ |
932 |
+ |
tinvers[OBJ_MESH] = OBJ_MESH; /* ditto */ |
933 |
|
} |
934 |
|
|
935 |
|
|