| 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 |
|
; |