Change 33936 by nicholas@mouse-mill on 2008/05/25 23:47:00
My recent changes to POSIX.xs forgot that WEXITSTATUS etc may not even
be defined. This fix changes the error message from "Your vendor has
not defined POSIX macro %s, used" to "POSIX::%s not implemented on
this architecture", which I assume is not going to break anything.
Affected files ...
... //depot/perl/ext/POSIX/POSIX.xs#154 edit
Differences ...
==== //depot/perl/ext/POSIX/POSIX.xs#154 (text) ====
Index: perl/ext/POSIX/POSIX.xs
--- perl/ext/POSIX/POSIX.xs#153~33897~ 2008-05-21 03:31:32.000000000 -0700
+++ perl/ext/POSIX/POSIX.xs 2008-05-25 16:47:00.000000000 -0700
@@ -658,22 +658,46 @@
CODE:
switch(ix) {
case 0:
+#ifdef WEXITSTATUS
RETVAL = WEXITSTATUS(status);
+#else
+ not_here("WEXITSTATUS");
+#endif
break;
case 1:
+#ifdef WIFEXITED
RETVAL = WIFEXITED(status);
+#else
+ not_here("WIFEXITED");
+#endif
break;
case 2:
+#ifdef WIFSIGNALED
RETVAL = WIFSIGNALED(status);
+#else
+ not_here("WIFSIGNALED");
+#endif
break;
case 3:
+#ifdef WIFSTOPPED
RETVAL = WIFSTOPPED(status);
+#else
+ not_here("WIFSTOPPED");
+#endif
break;
case 4:
+#ifdef WSTOPSIG
RETVAL = WSTOPSIG(status);
+#else
+ not_here("WSTOPSIG");
+#endif
break;
case 5:
+#ifdef WTERMSIG
RETVAL = WTERMSIG(status);
+#else
+ not_here("WTERMSIG");
+#endif
break;
default:
Perl_croak(aTHX_ "Illegal alias %d for POSIX::W*", ix);
End of Patch.