OSDN Git Service

2003-04-26 Paolo Carlini <pcarlini@unitus.it>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Apr 2003 08:31:57 +0000 (08:31 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Apr 2003 08:31:57 +0000 (08:31 +0000)
* include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines)
the innermost 'if' by factoring out some code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66102 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/fstream.tcc

index b788831..926973d 100644 (file)
@@ -1,5 +1,10 @@
 2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
 
+       * include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines)
+       the innermost 'if' by factoring out some code.
+
+2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
+
        * include/bits/streambuf.tcc (__copy_streambufs): Don't
        use in_avail(), simplify.
 
index 7a8ae3b..454660d 100644 (file)
@@ -203,27 +203,17 @@ namespace std
              const bool __testout = this->_M_mode & ios_base::out;
              const bool __testeq = traits_type::eq(__c, this->_M_in_cur[-1]);
 
+             --this->_M_in_cur;
+             if (__testout)
+               --this->_M_out_cur;
              // Try to put back __c into input sequence in one of three ways.
              // Order these tests done in is unspecified by the standard.
              if (!__testeof && __testeq)
-               {
-                 --this->_M_in_cur;
-                 if (__testout)
-                   --this->_M_out_cur;
-                 __ret = __i;
-               }
+               __ret = __i;
              else if (__testeof)
+               __ret = traits_type::not_eof(__i);
+             else
                {
-                 --this->_M_in_cur;
-                 if (__testout)
-                   --this->_M_out_cur;
-                 __ret = traits_type::not_eof(__i);
-               }
-             else if (!__testeof)
-               {
-                 --this->_M_in_cur;
-                 if (__testout)
-                   --this->_M_out_cur;
                  _M_pback_create();
                  *this->_M_in_cur = __c; 
                  __ret = __i;