From e6670c79c78c657ab11b2f89ee0413492f17b92f Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Fri, 11 Apr 2003 02:57:44 +0000 Subject: [PATCH] basic_file_stdio.cc (__basic_file::close): Don't flush stream twice. * basic_file_stdio.cc (__basic_file::close): Don't flush stream twice. Always set _M_cfile to 0 when stream was open. From-SVN: r65458 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/config/io/basic_file_stdio.cc | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 1f1f3c433dc..11b2af8872f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2003-04-10 John David Anglin + + * basic_file_stdio.cc (__basic_file::close): Don't flush stream + twice. Always set _M_cfile to 0 when stream was open. + 2003-04-09 Benjamin Kosnik Reshuffle 27_io testsuite. * testsuite/27_io/filebuf.cc, diff --git a/libstdc++-v3/config/io/basic_file_stdio.cc b/libstdc++-v3/config/io/basic_file_stdio.cc index b2287b24f7f..7f9c18bf05a 100644 --- a/libstdc++-v3/config/io/basic_file_stdio.cc +++ b/libstdc++-v3/config/io/basic_file_stdio.cc @@ -195,12 +195,12 @@ namespace std __basic_file* __retval = static_cast<__basic_file*>(NULL); if (this->is_open()) { - fflush(_M_cfile); - if ((_M_cfile_created && fclose(_M_cfile) == 0) || !_M_cfile_created) - { - _M_cfile = 0; - __retval = this; - } + if (_M_cfile_created) + fclose(_M_cfile); + else + fflush(_M_cfile); + _M_cfile = 0; + __retval = this; } return __retval; }