This keeps Rafael's warning for EBCDIC but reverses the other parts of his 
patch.  After applying, perly.c will need to be regenerated and 
vms/vms_yfix.pl will need to be run.  taint.t #73 does test ok now.

--- perl.c;-0   Mon Mar 25 09:17:50 2002
+++ perl.c      Mon Mar 25 12:46:51 2002
@@ -2288,7 +2288,7 @@
            PL_debug = atoi(s+1);
            for (s++; isDIGIT(*s); s++) ;
        }
-#if defined(EBCDIC) || defined(VMS)
+#ifdef EBCDIC
        if (DEBUG_p_TEST_ && ckWARN_d(WARN_DEBUGGING))
            Perl_warner(aTHX_ packWARN(WARN_DEBUGGING),
                    "-Dp not implemented on this platform\n");
--- perly.y;-0  Mon Mar 25 09:17:50 2002
+++ perly.y     Mon Mar 25 12:46:50 2002
@@ -16,7 +16,7 @@
 #include "EXTERN.h"
 #define PERL_IN_PERLY_C
 #include "perl.h"
-#if defined(EBCDIC) || defined(VMS)
+#ifdef EBCDIC
 #undef YYDEBUG
 #endif
 #define dep() deprecate("\"do\" to call subroutines")
--- vms/vms_yfix.pl;-0      Wed Mar 20 15:11:22 2002
+++ vms/vms_yfix.pl     Mon Mar 25 12:47:32 2002
@@ -28,9 +28,12 @@
     $_ = "#   ifndef getenv\n$_#   endif\n";
   }
   elsif ( /getenv\("YYDEBUG"\)/ ) {
+    $_ = "  {\n    register int saved_errno = errno;\n"
+       . "#ifdef VMS\n    register int saved_vaxc_errno = vaxc\$errno;\n"
+       . "#else\n    register int saved_vaxc_errno = 0;\n#endif\n" . $_;
     # Reset the "error" status if an optional lookup fails
     while (not /^\s+\}/) { print COUT; $_ = <C>; }
-    $_ .= "\telse SETERRNO(0,SS\$_NORMAL);\n";
+    $_ .= "    else SETERRNO(saved_errno,saved_vaxc_errno);\n  }\n";
   }
   else {
     # add the dEXT tag to definitions of global vars, so we'll insert
[end of patch]

_______________________________________________
Craig A. Berry                                   
mailto:[EMAIL PROTECTED]

Reply via email to