develooper Front page | perl.perl5.changes | Postings from May 2008

Change 33936: My recent changes to POSIX.xs forgot that WEXITSTATUS etc may not even

From:
Nicholas Clark
Date:
May 25, 2008 17:00
Subject:
Change 33936: My recent changes to POSIX.xs forgot that WEXITSTATUS etc may not even
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.



Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About