diff options
author | Benjamin Kosnik <bkoz@purist.soma.redhat.com> | 2000-07-24 20:47:37 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2000-07-24 20:47:37 +0000 |
commit | 020226e5f2f8468d5f2bf701f8123571501112db (patch) | |
tree | a526a1b85ce7234d05d0b65dc897f207bbdbc3b1 /libstdc++-v3 | |
parent | 9fed97f1bd7cef4729a1c68b111bb6b0dd6f965b (diff) | |
download | gcc-020226e5f2f8468d5f2bf701f8123571501112db.zip gcc-020226e5f2f8468d5f2bf701f8123571501112db.tar.gz gcc-020226e5f2f8468d5f2bf701f8123571501112db.tar.bz2 |
istream.tcc (getline): Tweaks.
2000-07-24 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* bits/istream.tcc (getline): Tweaks.
From-SVN: r35235
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/aclocal.m4 | 2 | ||||
-rw-r--r-- | libstdc++-v3/bits/istream.tcc | 9 |
3 files changed, 13 insertions, 4 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 03cb507..bf6d8f1 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,10 +1,14 @@ +2000-07-24 Benjamin Kosnik <bkoz@purist.soma.redhat.com> + + * bits/istream.tcc (getline): Tweaks. + 2000-07-23 Brent Verner <brent@rcfile.org> * bits/istream.tcc: istream::getline(char_type*, streamsize, char_type) make compliant * testsuite/27_io/istream_unformatted.cc: test for compliant behavior -2000-07-23 Benjamin Kosnik <bkoz@haight.constant.com> +2000-07-23 Benjamin Kosnik <bkoz@purist.soma.redhat.com> * acinclude.m4 (enable_cshadow_headers): Fix problems with blddir and srcdir used to define CSHADOW_INCLUDES.. diff --git a/libstdc++-v3/aclocal.m4 b/libstdc++-v3/aclocal.m4 index e655e2d..527cbf3 100644 --- a/libstdc++-v3/aclocal.m4 +++ b/libstdc++-v3/aclocal.m4 @@ -1520,7 +1520,7 @@ dnl Then, if any (well almost any) other make is called, and GNU make also dnl exists, then the other make wraps the GNU make. dnl dnl @author John Darrington <j.darrington@elvis.murdoch.edu.au> -dnl @version $Id: acinclude.m4,v 1.45 2000/07/21 20:59:23 gdr Exp $ +dnl @version $Id: acinclude.m4,v 1.46 2000/07/24 16:33:55 bkoz Exp $ dnl dnl #### Changes for libstdc++-v3: reformatting and linewrapping; prepending dnl #### GLIBCPP_ to the macro name; adding the :-make fallback in the diff --git a/libstdc++-v3/bits/istream.tcc b/libstdc++-v3/bits/istream.tcc index dc98f52..f0af22b 100644 --- a/libstdc++-v3/bits/istream.tcc +++ b/libstdc++-v3/bits/istream.tcc @@ -626,21 +626,26 @@ namespace std { try { __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sbumpc(); + ++_M_gcount; const int_type __idelim = traits_type::to_int_type(__delim); const int_type __eof = traits_type::eof(); bool __testdelim = __c == __idelim; bool __testeof = __c == __eof; - while (++_M_gcount < __n && !__testeof && !__testdelim) + while (_M_gcount < __n && !__testeof && !__testdelim) { *__s++ = traits_type::to_char_type(__c); __c = __sb->sbumpc(); + ++_M_gcount; __testeof = __c == __eof; __testdelim = __c == __idelim; } if (__testeof) - this->setstate(ios_base::eofbit); + { + --_M_gcount; + this->setstate(ios_base::eofbit); + } else if (!__testdelim) { --_M_gcount; |