diff options
| author | Adam David <adam@FreeBSD.org> | 1996-07-30 13:11:43 +0000 |
|---|---|---|
| committer | Adam David <adam@FreeBSD.org> | 1996-07-30 13:11:43 +0000 |
| commit | 49a598ab871d98eba3cd0a21937b729716727cbb (patch) | |
| tree | b6ca9a0d0964a44c50564db82f2f4288e3907a16 /usr.bin/tail | |
| parent | 50f56e483ad735716aa51d0ba798a096cd772bc7 (diff) | |
Notes
Diffstat (limited to 'usr.bin/tail')
| -rw-r--r-- | usr.bin/tail/extern.h | 4 | ||||
| -rw-r--r-- | usr.bin/tail/read.c | 8 | ||||
| -rw-r--r-- | usr.bin/tail/reverse.c | 5 |
3 files changed, 11 insertions, 6 deletions
diff --git a/usr.bin/tail/extern.h b/usr.bin/tail/extern.h index 65efc144f5a8..f1daa9b2de2e 100644 --- a/usr.bin/tail/extern.h +++ b/usr.bin/tail/extern.h @@ -42,8 +42,8 @@ enum STYLE { NOTSET = 0, FBYTES, FLINES, RBYTES, RLINES, REVERSE }; void forward __P((FILE *, enum STYLE, long, struct stat *)); void reverse __P((FILE *, enum STYLE, long, struct stat *)); -void bytes __P((FILE *, off_t)); -void lines __P((FILE *, off_t)); +int bytes __P((FILE *, off_t)); +int lines __P((FILE *, off_t)); void err __P((int fatal, const char *fmt, ...)); void ierr __P((void)); diff --git a/usr.bin/tail/read.c b/usr.bin/tail/read.c index ad29dbd91763..94f3f0b515a6 100644 --- a/usr.bin/tail/read.c +++ b/usr.bin/tail/read.c @@ -58,7 +58,7 @@ static char sccsid[] = "@(#)read.c 8.1 (Berkeley) 6/6/93"; * it is displayed from the character closest to the beginning of the input to * the end. */ -void +int bytes(fp, off) register FILE *fp; off_t off; @@ -80,7 +80,7 @@ bytes(fp, off) } if (ferror(fp)) { ierr(); - return; + return 1; } if (rflag) { @@ -125,7 +125,7 @@ bytes(fp, off) * it is displayed from the line closest to the beginning of the input to * the end. */ -void +int lines(fp, off) register FILE *fp; off_t off; @@ -171,7 +171,7 @@ lines(fp, off) } if (ferror(fp)) { ierr(); - return; + return 1; } if (cnt) { lines[recno].l = sp; diff --git a/usr.bin/tail/reverse.c b/usr.bin/tail/reverse.c index 34cd980726a7..455706444943 100644 --- a/usr.bin/tail/reverse.c +++ b/usr.bin/tail/reverse.c @@ -200,6 +200,11 @@ r_buf(fp) len < BSZ && (ch = getc(fp)) != EOF; ++len) *p++ = ch; + if (ferror(fp)) { + ierr(); + return; + } + /* * If no input data for this block and we tossed some data, * recover it. |
