aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@unitus.it>2003-04-28 23:28:25 +0200
committerPaolo Carlini <paolo@gcc.gnu.org>2003-04-28 21:28:25 +0000
commitca78f36ae3b7b61eb78dc8e7d624add10e8718df (patch)
treeea2eca0d9eba7bbb9657cbf60a619dff20e9e5a7
parenta72bf3e9513759455c5906022994fe4b7315d234 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--libstdc++-v3/include/bits/sstream.tcc23
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;
}