From 64e1d44458c8bfe8430870d5b931e35e233a0c0f Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 6 Jul 1998 10:35:56 +0000 Subject: [PATCH] (class basic_string): Correct iterator return values in insert member functions. From-SVN: r20950 --- libstdc++/std/bastring.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libstdc++/std/bastring.h b/libstdc++/std/bastring.h index 5e334e666ff..f188628cc77 100644 --- a/libstdc++/std/bastring.h +++ b/libstdc++/std/bastring.h @@ -213,9 +213,13 @@ public: basic_string& insert (size_type pos, size_type n, charT c) { return replace (pos, 0, n, c); } iterator insert(iterator p, charT c) - { insert (p - ibegin (), 1, c); selfish (); return p; } + { size_type __o = p - ibegin (); + insert (p - ibegin (), 1, c); selfish (); + return ibegin () + __o; } iterator insert(iterator p, size_type n, charT c) - { insert (p - ibegin (), n, c); selfish (); return p; } + { size_type __o = p - ibegin (); + insert (p - ibegin (), n, c); selfish (); + return ibegin () + __o; } #ifdef __STL_MEMBER_TEMPLATES template void insert(iterator p, InputIterator first, InputIterator last)