cleaner logic in op.c, also avoids QNX optimizer bug (from Norton
Gurusamy Sarathy [Mon, 13 Mar 2000 20:46:37 +0000 (20:46 +0000)]
Allen <allen@huarp.harvard.edu>)

p4raw-id: //depot/perl@5710

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) {
-           while (off <= top) {
+           do {
                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;
                }
-               --off;
-           }
+           } while ( off-- > 0 );
        }
     }
     off = pad_alloc(OP_PADSV, SVs_PADMY);