OSDN Git Service

2004-02-08 Paolo Carlini <pcarlini@suse.de>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 8 Feb 2004 17:11:07 +0000 (17:11 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 8 Feb 2004 17:11:07 +0000 (17:11 +0000)
* include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
When working in place remember to set the state to sharable
(otherwise, _M_mutate does it).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77487 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/basic_string.tcc

index 97126b3..a8a0edc 100644 (file)
@@ -1,3 +1,9 @@
+2004-02-08  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
+       When working in place remember to set the state to sharable
+       (otherwise, _M_mutate does it).
+
 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
 
        * include/bits/allocator.h, include/bits/basic_ios.h,
index 729b86c..4a79333 100644 (file)
@@ -273,6 +273,7 @@ namespace std
             traits_type::copy(_M_data(), __s, __n);
           else if (__pos)
             traits_type::move(_M_data(), __s, __n);
+          _M_rep()->_M_set_sharable();
           _M_rep()->_M_length = __n;
           _M_data()[__n] = _Rep::_S_terminal;  // grr.
           return *this;