[perl #35847] File::Find not performing as documented
[p5sagit/p5-mst-13.2.git] / perl.h
diff --git a/perl.h b/perl.h
index d302252..d3eef2c 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -2691,7 +2691,7 @@ typedef pthread_key_t     perl_key;
                  if (MY_POSIX_EXIT)                    \
                    PL_statusvalue_vms =        \
                       (C_FAC_POSIX | (evalue << 3 ) | (evalue == 1)? \
-                       (STS$K_ERROR | STS$M_INHIB_MSG) : 0); \
+                       (STS$K_ERROR | STS$M_INHIB_MSG) : 1); \
                  else                                  \
                    PL_statusvalue_vms = SS$_ABORT; \
              } else { /* forgive them Perl, for they have sinned */ \
@@ -2726,7 +2726,7 @@ typedef pthread_key_t     perl_key;
            if (MY_POSIX_EXIT)                          \
                PL_statusvalue_vms =                    \
                  (C_FAC_POSIX | (evalue << 3 ) | (evalue == 1)? \
-                  (STS$K_ERROR | STS$M_INHIB_MSG) : 0); \
+                  (STS$K_ERROR | STS$M_INHIB_MSG) : 1); \
            else                                        \
                PL_statusvalue_vms = evalue ? evalue : SS$_NORMAL; \
            set_vaxc_errno(PL_statusvalue_vms);         \
@@ -2959,11 +2959,16 @@ typedef pthread_key_t   perl_key;
 
 #ifndef IOCPARM_LEN
 #   ifdef IOCPARM_MASK
-       /* on BSDish systes we're safe */
+       /* on BSDish systems we're safe */
 #      define IOCPARM_LEN(x)  (((x) >> 16) & IOCPARM_MASK)
 #   else
+#      if defined(_IOC_SIZE) && defined(__GLIBC__)
+       /* on Linux systems we're safe */
+#          define IOCPARM_LEN(x) _IOC_SIZE(x)
+#      else
        /* otherwise guess at what's safe */
-#      define IOCPARM_LEN(x)   256
+#          define IOCPARM_LEN(x)       256
+#      endif
 #   endif
 #endif
 
@@ -5385,6 +5390,21 @@ extern void moncontrol(int);
 #pragma message disable (mainparm) /* Perl uses the envp in main(). */
 #endif
 
+#if !defined(OS2) && !defined(WIN32) && !defined(DJGPP) && !defined(EPOC) && !defined(__SYMBIAN32__) && !defined(MACOS_TRADITIONAL)
+#define PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
+#endif
+
+#define do_open(g, n, l, a, rm, rp, sf) \
+       do_openn(g, n, l, a, rm, rp, sf, (SV **) NULL, 0)
+#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
+#  define do_exec(cmd)                 do_exec3(cmd,0,0)
+#endif
+#ifdef OS2
+#  define do_aexec                     Perl_do_aexec
+#else
+#  define do_aexec(really, mark,sp)    do_aexec5(really, mark, sp, 0, 0)
+#endif
+
 /* and finally... */
 #define PERL_PATCHLEVEL_H_IMPLICIT
 #include "patchlevel.h"