diff options
author | Paolo Carlini <pcarlini@unitus.it> | 2003-03-30 10:32:11 +0200 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2003-03-30 08:32:11 +0000 |
commit | 631693d58d5f3f5c3474487b28a47b21acdcef1c (patch) | |
tree | 68f39505a43244c32ff7f4ebbb69701627a6e7d4 | |
parent | 7270451f1955f9b853ec4f57649a315e8a96c516 (diff) | |
download | gcc-631693d58d5f3f5c3474487b28a47b21acdcef1c.zip gcc-631693d58d5f3f5c3474487b28a47b21acdcef1c.tar.gz gcc-631693d58d5f3f5c3474487b28a47b21acdcef1c.tar.bz2 |
fstream.tcc (basic_filebuf::showmanyc, [...]): Fix test for synced buffer.
2003-03-30 Paolo Carlini <pcarlini@unitus.it>
* include/bits/fstream.tcc (basic_filebuf::showmanyc,
_M_convert_to_external, _M_really_overflow, seekoff): Fix
test for synced buffer.
* include/std/std_fstream.h (sync): Likewise.
* src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
basic_filebuf<wchar_t>::_M_underflow_common): Likewise.
From-SVN: r65038
-rw-r--r-- | libstdc++-v3/ChangeLog | 9 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/fstream.tcc | 8 | ||||
-rw-r--r-- | libstdc++-v3/include/std/std_fstream.h | 2 | ||||
-rw-r--r-- | libstdc++-v3/src/fstream.cc | 4 |
4 files changed, 16 insertions, 7 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 30a8b3b..09ef061 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,12 @@ +2003-03-30 Paolo Carlini <pcarlini@unitus.it> + + * include/bits/fstream.tcc (basic_filebuf::showmanyc, + _M_convert_to_external, _M_really_overflow, seekoff): Fix + test for synced buffer. + * include/std/std_fstream.h (sync): Likewise. + * src/fstream.cc (basic_filebuf<char>::_M_underflow_common, + basic_filebuf<wchar_t>::_M_underflow_common): Likewise. + 2003-03-28 Benjamin Kosnik <bkoz@redhat.com> * include/std/std_sstream.h (basic_istringstream): Adjust diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc index b5529de..f1b65a1 100644 --- a/libstdc++-v3/include/bits/fstream.tcc +++ b/libstdc++-v3/include/bits/fstream.tcc @@ -160,7 +160,7 @@ namespace std const locale __loc = this->getloc(); const __codecvt_type& __cvt = use_facet<__codecvt_type>(__loc); // Sync with stdio. - bool __sync = this->_M_buf_size == 1; + bool __sync = this->_M_buf_size <= 1; if (__testin && this->is_open()) { @@ -285,7 +285,7 @@ namespace std const locale __loc = this->getloc(); const __codecvt_type& __cvt = use_facet<__codecvt_type>(__loc); // Sync with stdio. - bool __sync = this->_M_buf_size == 1; + bool __sync = this->_M_buf_size <= 1; if (__cvt.always_noconv() && __ilen) { @@ -358,7 +358,7 @@ namespace std bool __testput = this->_M_out_cur && this->_M_out_beg < this->_M_out_lim; bool __testunbuffered = _M_file.is_open() && !this->_M_buf_size_opt; // Sync with stdio. - bool __sync = this->_M_buf_size == 1; + bool __sync = this->_M_buf_size <= 1; if (__testput || __testunbuffered) { @@ -448,7 +448,7 @@ namespace std bool __testin = (ios_base::in & this->_M_mode & __mode) != 0; bool __testout = (ios_base::out & this->_M_mode & __mode) != 0; // Sync with stdio. - bool __sync = this->_M_buf_size == 1; + bool __sync = this->_M_buf_size <= 1; // Should probably do has_facet checks here. int __width = use_facet<__codecvt_type>(this->_M_buf_locale).encoding(); diff --git a/libstdc++-v3/include/std/std_fstream.h b/libstdc++-v3/include/std/std_fstream.h index 845a914..ecbaba4 100644 --- a/libstdc++-v3/include/std/std_fstream.h +++ b/libstdc++-v3/include/std/std_fstream.h @@ -315,7 +315,7 @@ namespace std bool __testput = this->_M_out_cur && this->_M_out_beg < this->_M_out_lim; // Sync with stdio. - bool __sync = this->_M_buf_size == 1; + bool __sync = this->_M_buf_size <= 1; // Make sure that the internal buffer resyncs its idea of // the file position with the external file. diff --git a/libstdc++-v3/src/fstream.cc b/libstdc++-v3/src/fstream.cc index 8280a66..0f9b2ab 100644 --- a/libstdc++-v3/src/fstream.cc +++ b/libstdc++-v3/src/fstream.cc @@ -44,7 +44,7 @@ namespace std bool __testin = _M_mode & ios_base::in; bool __testout = _M_mode & ios_base::out; // Sync with stdio. - bool __sync = _M_buf_size == 1; + bool __sync = _M_buf_size <= 1; if (__testin) { @@ -126,7 +126,7 @@ namespace std bool __testin = _M_mode & ios_base::in; bool __testout = _M_mode & ios_base::out; // Sync with stdio. - bool __sync = _M_buf_size == 1; + bool __sync = _M_buf_size <= 1; if (__testin) { |