Change 13063 by jhi@alpha on 2001/11/17 17:53:38

        Tweak from Charles Lane.

Affected files ...

.... //depot/perl/vms/vms.c#94 edit

Differences ...

==== //depot/perl/vms/vms.c#94 (text) ====
Index: perl/vms/vms.c
--- perl/vms/vms.c.~1~  Sat Nov 17 11:00:05 2001
+++ perl/vms/vms.c      Sat Nov 17 11:00:05 2001
@@ -5108,8 +5108,8 @@
   if (!cmd || !*cmd) {
     hadcmd = 0;
     sts = lib$spawn(0,0,0,0,0,0,&substs,0,0,0,0,0,0);
-  if (!(sts & 1)) {
-    switch (sts) {
+    if (!(sts & 1)) {
+      switch (sts) {
       case RMS$_FNF:  case RMS$_DNF:
         set_errno(ENOENT); break;
       case RMS$_DIR:
@@ -5126,14 +5126,15 @@
         _ckvmssts(sts); /* fall through */
       default:  /* SS$_DUPLNAM, SS$_CLI, resource exhaustion, etc. */
         set_errno(EVMSERR); 
+      }
+      set_vaxc_errno(sts);
+      if (ckWARN(WARN_EXEC)) {
+       Perl_warner(aTHX_ WARN_EXEC,"Can't spawn \"%s\": %s",
+                   hadcmd ? cmd : "",
+                   Strerror(errno));
+      }
     }
-    set_vaxc_errno(sts);
-    if (ckWARN(WARN_EXEC)) {
-      Perl_warner(aTHX_ WARN_EXEC,"Can't spawn \"%s\": %s",
-             hadcmd ? cmd : "",
-             Strerror(errno));
-    }
-  }
+    sts = substs;
   }
   else {
     (void) safe_popen(cmd, "nW", (int *)&sts);
End of Patch.

Reply via email to