summaryrefslogtreecommitdiff
path: root/usr.bin/tail
diff options
context:
space:
mode:
authorMark Murray <markm@FreeBSD.org>2003-06-10 16:49:14 +0000
committerMark Murray <markm@FreeBSD.org>2003-06-10 16:49:14 +0000
commit96b5910f3253e8981b1fd2f8d843a95396e51e8d (patch)
tree9aea54f6e980347ef2870e33cf444d5a677f18d9 /usr.bin/tail
parent5f596fa5d0203cbe6ecd4f9d4b70318eeccc4221 (diff)
Notes
Diffstat (limited to 'usr.bin/tail')
-rw-r--r--usr.bin/tail/read.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/usr.bin/tail/read.c b/usr.bin/tail/read.c
index b8112fe0f6bd..f904ef0bc74d 100644
--- a/usr.bin/tail/read.c
+++ b/usr.bin/tail/read.c
@@ -140,14 +140,13 @@ lines(fp, off)
off_t off;
{
struct {
- u_int blen;
+ int blen;
u_int len;
char *l;
} *llines;
int ch;
char *p, *sp;
- int recno, wrap;
- u_int cnt, blen;
+ int blen, cnt, recno, wrap;
if ((llines = malloc(off * sizeof(*llines))) == NULL)
err(1, "malloc");
@@ -163,7 +162,7 @@ lines(fp, off)
}
*p++ = ch;
if (ch == '\n') {
- if (llines[recno].blen < cnt) {
+ if ((int)llines[recno].blen < cnt) {
llines[recno].blen = cnt + 256;
if ((llines[recno].l = realloc(llines[recno].l,
llines[recno].blen)) == NULL)
@@ -192,16 +191,16 @@ lines(fp, off)
}
if (rflag) {
- for (cnt = recno - 1; cnt != 0; --cnt)
+ for (cnt = recno - 1; cnt >= 0; --cnt)
WR(llines[cnt].l, llines[cnt].len);
if (wrap)
- for (cnt = off - 1; cnt >= (u_int)recno; --cnt)
+ for (cnt = off - 1; cnt >= recno; --cnt)
WR(llines[cnt].l, llines[cnt].len);
} else {
if (wrap)
- for (cnt = recno; cnt < (u_int)off; ++cnt)
+ for (cnt = recno; cnt < off; ++cnt)
WR(llines[cnt].l, llines[cnt].len);
- for (cnt = 0; cnt < (u_int)recno; ++cnt)
+ for (cnt = 0; cnt < recno; ++cnt)
WR(llines[cnt].l, llines[cnt].len);
}
return 0;