Change 14764 by jhi@alpha on 2002/02/19 04:44:41
Let's not overdo the growth.
Affected files ...
.... //depot/perl/pp.c#334 edit
Differences ...
==== //depot/perl/pp.c#334 (text) ====
Index: perl/pp.c
--- perl/pp.c.~1~ Mon Feb 18 22:00:05 2002
+++ perl/pp.c Mon Feb 18 22:00:05 2002
@@ -3350,8 +3350,10 @@
SETs(TARG);
}
else {
+ STRLEN nchar = utf8_length(s, s + len);
+
(void)SvUPGRADE(TARG, SVt_PV);
- SvGROW(TARG, (len * UTF8_MAXLEN_UCLC) + 1);
+ SvGROW(TARG, (nchar * UTF8_MAXLEN_UCLC) + 1);
(void)SvPOK_only(TARG);
d = (U8*)SvPVX(TARG);
send = s + len;
@@ -3417,8 +3419,10 @@
SETs(TARG);
}
else {
+ STRLEN nchar = utf8_length(s, s + len);
+
(void)SvUPGRADE(TARG, SVt_PV);
- SvGROW(TARG, (len * UTF8_MAXLEN_UCLC) + 1);
+ SvGROW(TARG, (nchar * UTF8_MAXLEN_UCLC) + 1);
(void)SvPOK_only(TARG);
d = (U8*)SvPVX(TARG);
send = s + len;
End of Patch.