This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix for "[ID 20010213.005] utf8 + localized hash elems + 64 bits?"
[perl5.git] / doop.c
diff --git a/doop.c b/doop.c
index 526409c..f323069 100644 (file)
--- a/doop.c
+++ b/doop.c
@@ -187,8 +187,11 @@ S_do_trans_complex(pTHX_ SV *sv)/* SPC - NOT OK */
            d = s;
        dstart = d;
 
+#ifdef MACOS_TRADITIONAL
+#define comp CoMP   /* "comp" is a keyword in some compilers ... */
+#endif
+
        if (PL_op->op_private & OPpTRANS_SQUASH) {
-           U8* p = send;
            UV pch = 0xfeedface;
            while (s < send) {
                STRLEN len;
@@ -1206,7 +1209,7 @@ Perl_do_kv(pTHX)
        dokeys = dovalues = TRUE;
 
     if (!hv) {
-       if (PL_op->op_flags & OPf_MOD) {        /* lvalue */
+       if (PL_op->op_flags & OPf_MOD || LVRET) {       /* lvalue */
            dTARGET;            /* make sure to clear its target here */
            if (SvTYPE(TARG) == SVt_PVLV)
                LvTARG(TARG) = Nullsv;
@@ -1225,7 +1228,7 @@ Perl_do_kv(pTHX)
        IV i;
        dTARGET;
 
-       if (PL_op->op_flags & OPf_MOD) {        /* lvalue */
+       if (PL_op->op_flags & OPf_MOD || LVRET) {       /* lvalue */
            if (SvTYPE(TARG) < SVt_PVLV) {
                sv_upgrade(TARG, SVt_PVLV);
                sv_magic(TARG, Nullsv, 'k', Nullch, 0);