diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-18 13:38:09 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-18 13:38:09 +0000 |
commit | d587bbc20edfc210b1f44c8034f3d8f37e97b71f (patch) | |
tree | cae5725d4e270da043090baffb091ed37a26f6d0 /libstdc++-v3 | |
parent | b35d69198c35a183379be9ef0beda544843822cb (diff) | |
download | gcc-d587bbc20edfc210b1f44c8034f3d8f37e97b71f.tar.gz |
2004-11-18 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::do_get(void*&)):
If the failbit is set, don't set it again.
(money_get<>::_M_extract): Minor stylistic tweak: consistently
with the other functions, take care of eofbit at the end.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90861 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 7 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/locale_facets.tcc | 9 |
2 files changed, 10 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 370044a268a..09e20fc9781 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,12 @@ 2004-11-18 Paolo Carlini <pcarlini@suse.de> + * include/bits/locale_facets.tcc (num_get<>::do_get(void*&)): + If the failbit is set, don't set it again. + (money_get<>::_M_extract): Minor stylistic tweak: consistently + with the other functions, take care of eofbit at the end. + +2004-11-18 Paolo Carlini <pcarlini@suse.de> + DR 434. bitset::to_string() hard to use [Ready] * include/std/std_bitset.h (to_string): Add three overloads, taking fewer template arguments. diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc index 821697807e3..b503c95430d 100644 --- a/libstdc++-v3/include/bits/locale_facets.tcc +++ b/libstdc++-v3/include/bits/locale_facets.tcc @@ -825,8 +825,6 @@ namespace std if (!(__err & ios_base::failbit)) __v = reinterpret_cast<void*>(__ul); - else - __err |= ios_base::failbit; return __beg; } @@ -1481,16 +1479,15 @@ namespace std __testvalid = false; } - // Iff no more characters are available. - if (__beg == __end) - __err |= ios_base::eofbit; - // Iff valid sequence is not recognized. if (!__testvalid) __err |= ios_base::failbit; else __units.swap(__res); + // Iff no more characters are available. + if (__beg == __end) + __err |= ios_base::eofbit; return __beg; } |