From 0aef8de2ae87424b237fa4905d575f4055514ed7 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Thu, 22 May 2003 20:44:02 +0200 Subject: [PATCH] fstream.tcc (_M_underflow): simplify... 2003-05-22 Paolo Carlini * include/bits/fstream.tcc (_M_underflow): simplify: !__testout implies _M_filepos == _M_in_end, therefore the first _M_file.seekoff call is never issued. From-SVN: r67094 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/include/bits/fstream.tcc | 14 +++----------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 894faebd15fe..29f972cbb2e2 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2003-05-22 Paolo Carlini + + * include/bits/fstream.tcc (_M_underflow): simplify: + !__testout implies _M_filepos == _M_in_end, therefore + the first _M_file.seekoff call is never issued. + 2003-05-22 Benjamin Kosnik * configure.in: Sort cross table. diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc index 4fb153ff7243..0aa93fef7bb6 100644 --- a/libstdc++-v3/include/bits/fstream.tcc +++ b/libstdc++-v3/include/bits/fstream.tcc @@ -196,8 +196,7 @@ namespace std // Check for pback madness, and if so swich back to the // normal buffers and jet outta here before expensive // fileops happen... - if (_M_pback_init) - _M_destroy_pback(); + _M_destroy_pback(); if (this->_M_in_cur < this->_M_in_end) { @@ -208,15 +207,8 @@ namespace std } // Sync internal and external buffers. - // NB: __testget -> __testput as _M_buf_unified here. - if (this->_M_in_cur > this->_M_in_beg) - { - if (__testout) - _M_overflow(); - else if (this->_M_in_cur != _M_filepos) - _M_file.seekoff(this->_M_in_cur - _M_filepos, ios_base::cur, - ios_base::in); - } + if (__testout && this->_M_out_beg < this->_M_out_lim) + _M_overflow(); if (_M_buf_size > 1) {