diff options
author | tjr <tjr@FreeBSD.org> | 2002-05-16 05:04:26 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2002-05-16 05:04:26 +0000 |
commit | 054f70b470751d5cb9034aa91797a323d497516c (patch) | |
tree | e9b05baa637c98745a53396ec0b63fcc36f3f6e5 /usr.bin/csplit | |
parent | 3fd7d1d092b8eab76ec7c924dfc9a6679e0fd139 (diff) | |
download | FreeBSD-src-054f70b470751d5cb9034aa91797a323d497516c.zip FreeBSD-src-054f70b470751d5cb9034aa91797a323d497516c.tar.gz |
Handle the case where a negative offset in a regular expression match
is larger than the number of lines in the overflow file.
Diffstat (limited to 'usr.bin/csplit')
-rw-r--r-- | usr.bin/csplit/csplit.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/usr.bin/csplit/csplit.c b/usr.bin/csplit/csplit.c index 35692cc..f54a489 100644 --- a/usr.bin/csplit/csplit.c +++ b/usr.bin/csplit/csplit.c @@ -325,6 +325,8 @@ toomuch(FILE *ofp, long n) for (i = 1; i <= nread; i++) if (buf[nread - i] == '\n' && n-- == 0) break; + if (ftello(ofp) == 0) + break; } while (n > 0); if (fseek(ofp, nread - i + 1, SEEK_CUR) != 0) err(1, "%s", currfile); |