+2004-04-21 Paolo Carlini <pcarlini@suse.de>
+ Andrew Pinski <pinskia@physics.uc.edu>
+
+ * include/bits/basic_string.tcc (_M_mutate): Don't compute
+ __src unnecessarily.
+
2004-04-19 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
{
const size_type __old_size = this->size();
const size_type __new_size = __old_size + __len2 - __len1;
- const _CharT* __src = _M_data() + __pos + __len1;
const size_type __how_much = __old_size - __pos - __len1;
if (_M_rep() == &_S_empty_rep()
traits_type::copy(__r->_M_refdata(), _M_data(), __pos);
if (__how_much)
traits_type::copy(__r->_M_refdata() + __pos + __len2,
- __src, __how_much);
+ _M_data() + __pos + __len1, __how_much);
_M_rep()->_M_dispose(__a);
_M_data(__r->_M_refdata());
else if (__how_much && __len1 != __len2)
{
// Work in-place
- traits_type::move(_M_data() + __pos + __len2, __src, __how_much);
+ traits_type::move(_M_data() + __pos + __len2,
+ _M_data() + __pos + __len1, __how_much);
}
_M_rep()->_M_set_sharable();
_M_rep()->_M_length = __new_size;