X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=doop.c;h=4224b0ea13bd95e37654d2c23db2a2cd641dad30;hb=be341bcebb03d2f97192fb78a6a1bc33c7bca5ce;hp=e92a7ca77616e8da97ff10cef05b642c03b4dbda;hpb=155aba94f677ac771761a1f510964fe5b21524ed;p=p5sagit%2Fp5-mst-13.2.git diff --git a/doop.c b/doop.c index e92a7ca..4224b0e 100644 --- a/doop.c +++ b/doop.c @@ -660,12 +660,9 @@ Perl_do_join(pTHX_ register SV *sv, SV *del, register SV **mark, register SV **s if (items-- > 0) { char *s; - if (*mark) { - s = SvPV(*mark, tmplen); - sv_setpvn(sv, s, tmplen); - } - else - sv_setpv(sv, ""); + sv_setpv(sv, ""); + if (*mark) + sv_catsv(sv, *mark); mark++; } else @@ -1098,6 +1095,9 @@ Perl_do_vop(pTHX_ I32 optype, SV *sv, SV *left, SV *right) STRLEN dulen = 0; I32 ulen; + if (optype != OP_BIT_AND) + dc = SvGROW(sv, leftlen+rightlen+1); + switch (optype) { case OP_BIT_AND: while (lulen && rulen) {