From ce98c1385296822d24f00c01bf313903b10570ca Mon Sep 17 00:00:00 2001 From: paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Sat, 26 Apr 2003 08:31:57 +0000 Subject: [PATCH] 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66102 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/include/bits/fstream.tcc | 22 ++++++---------------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b78883113012..926973d2ea81 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +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 diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc index 7a8ae3b2d5a4..454660d57689 100644 --- a/libstdc++-v3/include/bits/fstream.tcc +++ b/libstdc++-v3/include/bits/fstream.tcc @@ -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; -- GitLab