Change 14243 by jhi@alpha on 2002/01/13 18:12:23

        Grow the buffer in case Unicode caused size changes
        (and it very probably did).

Affected files ...

.... //depot/perl/sv.c#508 edit

Differences ...

==== //depot/perl/sv.c#508 (text) ====
Index: perl/sv.c
--- perl/sv.c.~1~       Sun Jan 13 11:15:05 2002
+++ perl/sv.c   Sun Jan 13 11:15:05 2002
@@ -8362,10 +8362,8 @@
        if (elen) {
            if (is_utf8 != has_utf8) {
                if (is_utf8) {
-                   if (SvCUR(sv)) {
+                   if (SvCUR(sv))
                        sv_utf8_upgrade(sv);
-                       p = SvEND(sv);
-                   }
                }
                else {
                    SV *nsv = sv_2mortal(newSVpvn(eptr, elen));
@@ -8373,6 +8371,8 @@
                    eptr = SvPVX(nsv);
                    elen = SvCUR(nsv);
                }
+               SvGROW(sv, SvCUR(sv) + elen + 1);
+               p = SvEND(sv);
            }
            Copy(eptr, p, elen, char);
            p += elen;
End of Patch.

Reply via email to