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.