Changeset 4654
- Timestamp:
- Sep 22, 2010, 10:34:37 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
zzuf/trunk/src/zzat.c
r4653 r4654 357 357 }; 358 358 359 static int make_fmt(struct parser *p, char const *fmt )359 static int make_fmt(struct parser *p, char const *fmt, int *nitems) 360 360 { 361 361 char const *tmp; … … 375 375 tmp++, ret++; 376 376 377 return ret; 377 *nitems = ret; 378 379 return 1; 378 380 } 379 381 380 382 #define PARSECMD(fmt, ...) \ 381 (make_fmt(&parser, fmt) == sscanf(sequence, parser.tmpfmt, \ 382 __VA_ARGS__, &parser.ch) \ 383 (make_fmt(&parser, fmt, &nitems) \ 384 && nitems == sscanf(sequence, parser.tmpfmt, \ 385 ##__VA_ARGS__, &parser.ch) \ 383 386 && parser.ch == parser.lastch) 384 387 … … 394 397 FILE *f = NULL; 395 398 size_t retlen = 0, retoff = 0; 396 int n loops = 0, fd = -1, feofs = 0, finish = 0;399 int nitems, nloops = 0, fd = -1, feofs = 0, finish = 0; 397 400 398 401 /* Initialise per-file state */
Note: See TracChangeset
for help on using the changeset viewer.