1/*- 2 * See the file LICENSE for redistribution information. 3 * 4 * Copyright (c) 2002-2009 Oracle. All rights reserved. 5 */ 6 7#include <sys/types.h> 8 9#include <ctype.h> 10#include <errno.h> 11#include <stdio.h> 12#include <stdlib.h> 13#include <string.h> 14 15int 16chk(f) 17 char *f; 18{ 19 int ch, l, r; 20 21 if (freopen(f, "r", stdin) == NULL) { 22 fprintf(stderr, "%s: %s\n", f, strerror(errno)); 23 exit(EXIT_FAILURE); 24 } 25 for (l = 1, r = 0; (ch = getchar()) != EOF;) { 26 if (ch != ',') 27 goto next; 28 do { ch = getchar(); } while (isblank(ch)); 29 if (ch != '\n') 30 goto next; 31 ++l; 32 do { ch = getchar(); } while (isblank(ch)); 33 if (ch != '}') 34 goto next; 35 r = 1; 36 printf("%s: line %d\n", f, l); 37 38next: if (ch == '\n') 39 ++l; 40 } 41 return (r); 42} 43 44int 45main(int argc, char *argv[]) 46{ 47 int r; 48 49 for (r = 0; *++argv != NULL;) 50 if (chk(*argv)) 51 r = 1; 52 return (r); 53} 54