X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pp_hot.c;h=3f85116a31603439adf925248170de4de84966a7;hb=48f7ee7a00a9cc3c53df2208f08bd3848df9a5b5;hp=9b0573bb03235bb652bfdae40a0331f45bc69a8e;hpb=790090df87a94d63cdbf866bce162581c29c2abf;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pp_hot.c b/pp_hot.c index 9b0573b..3f85116 100644 --- a/pp_hot.c +++ b/pp_hot.c @@ -172,8 +172,12 @@ PP(pp_concat) /* Take a copy since we're about to overwrite TARG */ olds = s = (U8*)savepvn((char*)s, len); } - if (!SvOK(left) && SvTYPE(left) <= SVt_PVMG) - sv_setpv(left, ""); /* Suppress warning. */ + if (!SvOK(left) && SvTYPE(left) <= SVt_PVMG) { + if (SvREADONLY(left)) + left = sv_2mortal(newSVsv(left)); + else + sv_setpv(left, ""); /* Suppress warning. */ + } l = (U8*)SvPV(left, targlen); left_utf |= DO_UTF8(left); if (TARG != left)