sstream.tcc (pbackfail): Shorten a bit (6 lines) the innermost 'if' by factoring out some code.

2003-04-28  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines)
	the innermost 'if' by factoring out some code.

From-SVN: r66187
This commit is contained in:
Paolo Carlini 2003-04-28 23:28:25 +02:00 committed by Paolo Carlini
parent a72bf3e951
commit ca78f36ae3
2 changed files with 14 additions and 14 deletions

View File

@ -1,3 +1,8 @@
2003-04-28 Paolo Carlini <pcarlini@unitus.it>
* include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines)
the innermost 'if' by factoring out some code.
2003-04-28 Phil Edwards <pme@gcc.gnu.org>
* configure.in: Test for libintl.h.

View File

@ -55,24 +55,19 @@ namespace std
// Order these tests done in is unspecified by the standard.
if (__testpos)
{
if (traits_type::eq(traits_type::to_char_type(__c),
this->_M_in_cur[-1])
&& !__testeof)
const bool __testeq = traits_type::eq(traits_type::to_char_type(__c),
this->_M_in_cur[-1]);
--this->_M_in_cur;
if (!__testeof && __testeq)
__ret = __c;
else if (__testeof)
__ret = traits_type::not_eof(__c);
else
{
--this->_M_in_cur;
__ret = __c;
}
else if (!__testeof)
{
--this->_M_in_cur;
*this->_M_in_cur = traits_type::to_char_type(__c);
__ret = __c;
}
else if (__testeof)
{
--this->_M_in_cur;
__ret = traits_type::not_eof(__c);
}
}
return __ret;
}