37 |
|
|
38 |
|
typedef int VNDX[3]; /* vertex index (point,map,normal) */ |
39 |
|
|
40 |
< |
#define CHUNKSIZ 256 /* vertex allocation chunk size */ |
40 |
> |
#define CHUNKSIZ 1024 /* vertex allocation chunk size */ |
41 |
|
|
42 |
< |
#define MAXARG 64 /* maximum # arguments in a statement */ |
42 |
> |
#define MAXARG 512 /* maximum # arguments in a statement */ |
43 |
|
|
44 |
|
/* qualifiers */ |
45 |
|
#define Q_MTL 0 |
310 |
|
FILE *fp |
311 |
|
) |
312 |
|
{ |
313 |
< |
extern char *fgetline(); |
314 |
< |
static char sbuf[MAXARG*10]; |
313 |
> |
static char sbuf[MAXARG*16]; |
314 |
|
register char *cp; |
315 |
|
register int i; |
316 |
|
|
324 |
|
lineno++; |
325 |
|
*cp++ = '\0'; |
326 |
|
} |
327 |
< |
if (!*cp || i >= MAXARG-1) |
327 |
> |
if (!*cp) |
328 |
|
break; |
329 |
+ |
if (i >= MAXARG-1) { |
330 |
+ |
fprintf(stderr, |
331 |
+ |
"warning: line %d: too many arguments (limit %d)\n", |
332 |
+ |
lineno+1, MAXARG-1); |
333 |
+ |
break; |
334 |
+ |
} |
335 |
|
av[i++] = cp; |
336 |
|
while (*++cp && !isspace(*cp)) |
337 |
|
; |