locale_facets.tcc (num_get<>::do_get(void*&)): If the failbit is set, don't set it again.

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.

From-SVN: r90861
This commit is contained in:
Paolo Carlini 2004-11-18 13:38:09 +00:00 committed by Paolo Carlini
parent 0777d852b3
commit 899671904c
2 changed files with 10 additions and 6 deletions

View File

@ -1,3 +1,10 @@
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]

View File

@ -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;
}