This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
cleaner logic in op.c, also avoids QNX optimizer bug (from Norton
[perl5.git] / op.c
diff --git a/op.c b/op.c
index 49fd8b0..3d70756 100644 (file)
--- a/op.c
+++ b/op.c
@@ -159,7 +159,7 @@ Perl_pad_allocmy(pTHX_ char *name)
            }
        }
        if (PL_in_my == KEY_our) {
            }
        }
        if (PL_in_my == KEY_our) {
-           while (off <= top) {
+           do {
                if ((sv = svp[off])
                    && sv != &PL_sv_undef
                    && ((SvFLAGS(sv) & SVpad_OUR) && GvSTASH(sv) == ourstash)
                if ((sv = svp[off])
                    && sv != &PL_sv_undef
                    && ((SvFLAGS(sv) & SVpad_OUR) && GvSTASH(sv) == ourstash)
@@ -171,8 +171,7 @@ Perl_pad_allocmy(pTHX_ char *name)
                        "(Did you mean \"local\" instead of \"our\"?)\n");
                    break;
                }
                        "(Did you mean \"local\" instead of \"our\"?)\n");
                    break;
                }
-               --off;
-           }
+           } while ( off-- > 0 );
        }
     }
     off = pad_alloc(OP_PADSV, SVs_PADMY);
        }
     }
     off = pad_alloc(OP_PADSV, SVs_PADMY);