From f24ce7c1c37f7f7990d78e3c0f9467f76d4cfee6 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Tue, 3 Jun 2003 18:06:09 +0000 Subject: [PATCH] fstream.tcc (pbackfail): Make a rarely taken 'if' branch less obscure. 2003-06-03 Benjamin Kosnik * include/bits/fstream.tcc (pbackfail): Make a rarely taken 'if' branch less obscure. From-SVN: r67394 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/include/bits/fstream.tcc | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0848e64d020..b64a1547aee 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2003-06-03 Benjamin Kosnik + + * include/bits/fstream.tcc (pbackfail): Make a rarely taken + 'if' branch less obscure. + 2003-06-02 Andrew Pinski PR libstdc++/9815 diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc index e84eee04efd..e4119bfcff2 100644 --- a/libstdc++-v3/include/bits/fstream.tcc +++ b/libstdc++-v3/include/bits/fstream.tcc @@ -284,9 +284,13 @@ namespace std // But the seek may fail (f.i., at the beginning of // a file, see libstdc++/9439) and in that case // we return traits_type::eof(). - else if (this->seekoff(-1, ios_base::cur) < 0 - || traits_type::eq_int_type(__tmp = this->underflow(), - traits_type::eof())) + else if (this->seekoff(-1, ios_base::cur) >= 0) + { + __tmp = this->underflow(); + if (traits_type::eq_int_type(__tmp, __ret)) + return __ret; + } + else return __ret; // Try to put back __i into input sequence in one of three ways. -- 2.30.2