(class basic_string): Correct iterator return values in insert member
authorUlrich Drepper <drepper@gcc.gnu.org>
Mon, 6 Jul 1998 10:35:56 +0000 (10:35 +0000)
committerUlrich Drepper <drepper@gcc.gnu.org>
Mon, 6 Jul 1998 10:35:56 +0000 (10:35 +0000)
functions.

From-SVN: r20950

libstdc++/std/bastring.h

index 5e334e666ff95088194e8d04bebb2465a5752b76..f188628cc77b40855c091cb118ecd917940fb8c5 100644 (file)
@@ -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<class InputIterator>
     void insert(iterator p, InputIterator first, InputIterator last)