diff options
author | Steve Dickson <steved@redhat.com> | 2011-01-27 13:02:28 -0500 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2014-06-18 08:32:45 -0400 |
commit | 07b8339eb1ddf03233a5ac5169109812c0287269 (patch) | |
tree | 2bd01937c42b9bd0171cd30ba4c0578d6c770f82 | |
parent | 9dbff73f6ea178111277f070b15f75390cc67e54 (diff) | |
download | cthon04-07b8339eb1ddf03233a5ac5169109812c0287269.tar.gz cthon04-07b8339eb1ddf03233a5ac5169109812c0287269.tar.xz cthon04-07b8339eb1ddf03233a5ac5169109812c0287269.zip |
Make the stat command ignore lines that it is not looking for.
Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r-- | general/stat.c | 9 |
1 files 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); |