Change 34660 by [EMAIL PROTECTED] on 2008/10/30 11:29:50

        The file test operators -s, -A, -C and -M can return false values
        that are not undef or "no". Take that into account when stacking them.
        This fixes bug #60214.

Affected files ...

... //depot/perl/pp_sys.c#567 edit

Differences ...

==== //depot/perl/pp_sys.c#567 (text) ====
Index: perl/pp_sys.c
--- perl/pp_sys.c#566~34654~    2008-10-29 16:20:01.000000000 -0700
+++ perl/pp_sys.c       2008-10-30 04:29:50.000000000 -0700
@@ -2940,7 +2940,7 @@
  * Else, discard it from the stack and continue. --rgs
  */
 #define STACKED_FTEST_CHECK if (PL_op->op_private & OPpFT_STACKED) { \
-       if (TOPs == &PL_sv_no || TOPs == &PL_sv_undef) { RETURN; } \
+       if (!SvTRUE(TOPs)) { RETURN; } \
        else { (void)POPs; PUTBACK; } \
     }
 
End of Patch.

Reply via email to