aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@cygnus.com>1998-08-25 14:39:39 +0000
committerUlrich Drepper <drepper@gcc.gnu.org>1998-08-25 14:39:39 +0000
commite94bc5f266e82c9c2f7c7441373cf63e859f932d (patch)
treee4855d958744f0300da2a54975ddb72a105a700d
parent55895a7a348f8641fed1925242f16108f1beef5a (diff)
downloadgcc-e94bc5f266e82c9c2f7c7441373cf63e859f932d.zip
gcc-e94bc5f266e82c9c2f7c7441373cf63e859f932d.tar.gz
gcc-e94bc5f266e82c9c2f7c7441373cf63e859f932d.tar.bz2
(_IO_getline_info): Don't read anything for N==0.
From-SVN: r21973
-rw-r--r--libio/ChangeLog5
-rw-r--r--libio/iogetline.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/libio/ChangeLog b/libio/ChangeLog
index ee9ce72..90a521c 100644
--- a/libio/ChangeLog
+++ b/libio/ChangeLog
@@ -1,3 +1,8 @@
+1998-08-25 14:34 Ulrich Drepper <drepper@cygnus.com>
+
+ * libio/iogetline.c (_IO_getline_info): Don't read anything for
+ N == 0. Patch by HJ Lu.
+
1998-08-23 Mark Mitchell <mark@markmitchell.com>
* iomanip.h: Use __extension__ for `extern' explicit template
diff --git a/libio/iogetline.c b/libio/iogetline.c
index 631db78..5aac9b5 100644
--- a/libio/iogetline.c
+++ b/libio/iogetline.c
@@ -58,7 +58,7 @@ _IO_getline_info (fp, buf, n, delim, extract_delim, eof)
{
char *ptr = buf;
if (eof) *eof = 0;
- do
+ while (n != 0)
{
_IO_ssize_t len = fp->_IO_read_end - fp->_IO_read_ptr;
if (len <= 0)
@@ -105,7 +105,7 @@ _IO_getline_info (fp, buf, n, delim, extract_delim, eof)
ptr += len;
n -= len;
}
- } while (n != 0);
+ }
return ptr - buf;
}