From 2304077f8c17e76fec6e63f13f9009b95add53be Mon Sep 17 00:00:00 2001 From: paolo Date: Thu, 1 May 2003 23:20:33 +0000 Subject: [PATCH] 2003-05-01 Paolo Carlini * include/std/std_sstream.h (str()): Revert the best of the previous 'improvement', incorrect due to the COW nature of v3 basic_string; simplify. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66357 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/include/std/std_sstream.h | 9 ++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index fe539924d25..cd55a6b5e01 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,11 @@ 2003-05-01 Paolo Carlini + * include/std/std_sstream.h (str()): Revert the best of the + previous 'improvement', incorrect due to the COW nature of + v3 basic_string; simplify. + +2003-05-01 Paolo Carlini + * include/bits/streambuf.tcc (__copy_streambufs): Adjust the type of __avail to ptrdiff_t to avoid signed-unsigned warning. diff --git a/libstdc++-v3/include/std/std_sstream.h b/libstdc++-v3/include/std/std_sstream.h index dcfdea64168..1d9a54970c5 100644 --- a/libstdc++-v3/include/std/std_sstream.h +++ b/libstdc++-v3/include/std/std_sstream.h @@ -136,14 +136,9 @@ namespace std __string_type __ret = _M_string; if (this->_M_mode & ios_base::out) { - // This is the deal: _M_string.size() is a value that - // represents the size of the initial string used to - // created the buffer, and may not be the correct size of - // the current stringbuf internal buffer. - const __size_type __len = _M_string.size(); const __size_type __nlen = this->_M_out_lim - - this->_M_out_beg; - if (__nlen > __len) + - this->_M_out_beg; + if (__nlen) __ret = __string_type(this->_M_out_beg, this->_M_out_beg + __nlen); } -- 2.11.0