From 07b8339eb1ddf03233a5ac5169109812c0287269 Mon Sep 17 00:00:00 2001 From: Steve Dickson Date: Thu, 27 Jan 2011 13:02:28 -0500 Subject: Make the stat command ignore lines that it is not looking for. Signed-off-by: Steve Dickson --- general/stat.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/general/stat.c b/general/stat.c index c4e4fc0..2ce604e 100644 --- a/general/stat.c +++ b/general/stat.c @@ -30,7 +30,7 @@ main(argc, argv) { FILE *fp; int i, n; - char c, *fmt; + char c, *fmt, buf[BUFSIZ]; int attfmt = 0; /* set if using att time format */ Prog = argv[0]; @@ -45,6 +45,7 @@ main(argc, argv) Prog, File); exit(1); } +getnewch: if ((i = fgetc(fp)) == EOF) { fprintf(stderr, "%s: %s is empty\n", Prog, File); @@ -53,8 +54,12 @@ main(argc, argv) c = i & 0x7f; if (c == '\n' || c == '\r' || c == 'r') attfmt = 1; - else + else if (isdigit(c)) fmt = "%lf %*s %lf %*s %lf %*s"; /* BSD fmt */ + else { /* skip the line */ + fgets(buf, BUFSIZ, fp); + goto getnewch; + } if (ungetc(c, fp) == EOF) { fprintf(stderr, "%s: can't push char back to %s\n", Prog, File); -- cgit