From: Zack Weinberg Date: Wed, 2 Feb 2005 21:59:02 +0000 (+0000) Subject: backport: Paolo Carlini X-Git-Tag: releases/gcc-3.3.6~105 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cc8ef1a69d6b743e47f30019913762fc37bca918;p=thirdparty%2Fgcc.git backport: Paolo Carlini Backport from mainline: Paolo Carlini * include/bits/istream.tcc (readsome): Tidy, closely following 27.6.1.3, p30. From-SVN: r94619 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 64a4bb876dd3..a4405361487f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2005-02-02 Zack Weinberg + + Backport from mainline: + Paolo Carlini + * include/bits/istream.tcc (readsome): + Tidy, closely following 27.6.1.3, p30. + 2005-01-22 Volker Reichelt PR libstdc++/19510 @@ -27,7 +34,7 @@ * configure.in (libtool_VERSION): To 5:7:0. * configure: Regenerate. * testsuite/abi_check.cc (check_version): Add CXXABI_1.2.2. - + 2004-07-25 Kaz Kojima PR bootstrap/15120 @@ -35,7 +42,7 @@ 2004-07-08 Ulrich Weigand - * testsuite/22_locale/time_put_members_char.cc (test01): Allow either + * testsuite/22_locale/time_put_members_char.cc (test01): Allow either "Son" or "So" as abbreviated name for Sunday in de_DE locale. * testsuite/22_locale/time_put_members_wchar_t.cc (test01): Likewise. @@ -56,14 +63,14 @@ * aclocal.m4: Regenerate. * configure.in: Set os_include_dir correctly when --with-newlib. * configure: Regenerate. - + 2004-05-13 Benjamin Kosnik PR libstdc++/14720 * config/linker-map.gnu: Export basic_ios::_M_setstate. * testsuite/abi_check.cc (check_version): Add GLIBCXX_3.2.4 to known versions. - * configure.in (libtool_VERSION): To 5:6:0. + * configure.in (libtool_VERSION): To 5:6:0. * configure: Regenerated. 2004-05-07 Matthias Klose diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc index e7346dcdb55f..1d463957fbd6 100644 --- a/libstdc++-v3/include/bits/istream.tcc +++ b/libstdc++-v3/include/bits/istream.tcc @@ -733,14 +733,10 @@ namespace std try { // Cannot compare int_type with streamsize generically. - streamsize __num = this->rdbuf()->in_avail(); - if (__num >= 0) - { - __num = min(__num, __n); - if (__num) - _M_gcount = this->rdbuf()->sgetn(__s, __num); - } - else + const streamsize __num = this->rdbuf()->in_avail(); + if (__num > 0) + _M_gcount = this->rdbuf()->sgetn(__s, min(__num, __n)); + else if (__num == -1) __err |= ios_base::eofbit; } catch(...)