additional tests for utf8.t
[p5sagit/p5-mst-13.2.git] / doop.c
diff --git a/doop.c b/doop.c
index e92a7ca..4224b0e 100644 (file)
--- 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) {