diff options
author | Paolo Carlini <pcarlini@unitus.it> | 2003-04-28 23:28:25 +0200 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2003-04-28 21:28:25 +0000 |
commit | ca78f36ae3b7b61eb78dc8e7d624add10e8718df (patch) | |
tree | ea2eca0d9eba7bbb9657cbf60a619dff20e9e5a7 | |
parent | a72bf3e9513759455c5906022994fe4b7315d234 (diff) | |
download | gcc-ca78f36ae3b7b61eb78dc8e7d624add10e8718df.zip gcc-ca78f36ae3b7b61eb78dc8e7d624add10e8718df.tar.gz gcc-ca78f36ae3b7b61eb78dc8e7d624add10e8718df.tar.bz2 |
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
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/sstream.tcc | 23 |
2 files changed, 14 insertions, 14 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 75c88010..cc8ed88 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -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. diff --git a/libstdc++-v3/include/bits/sstream.tcc b/libstdc++-v3/include/bits/sstream.tcc index 801a34a..1d8cc00 100644 --- a/libstdc++-v3/include/bits/sstream.tcc +++ b/libstdc++-v3/include/bits/sstream.tcc @@ -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) - { - --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; } |