* include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines)
the innermost 'if' by factoring out some code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66187
138bc75d-0d04-0410-961f-
82ee72b054a4
+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.
// 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)
- {
- --this->_M_in_cur;
- __ret = __c;
- }
- else if (!__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;
*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;
}