* 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
2003-05-01 Paolo Carlini <pcarlini@unitus.it>
+ * 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 <pcarlini@unitus.it>
+
* include/bits/streambuf.tcc (__copy_streambufs): Adjust the
type of __avail to ptrdiff_t to avoid signed-unsigned warning.
__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);
}