aboutsummaryrefslogtreecommitdiffstats
path: root/nonposix.h
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2016-04-07 21:59:34 +0300
committerArnold D. Robbins <arnold@skeeve.com>2016-04-07 21:59:34 +0300
commitb6fac528542ff95fa89e40a6a4c1da2a7346279b (patch)
tree74932f73f322a7719675f33e3699f61abde16e8c /nonposix.h
parent43a645fe05c57576d9d41a7f3b18bb55b1dbdc3e (diff)
parentea1c544208913c0871fb21d9a5d6277d83bf2ef2 (diff)
downloadegawk-b6fac528542ff95fa89e40a6a4c1da2a7346279b.tar.gz
egawk-b6fac528542ff95fa89e40a6a4c1da2a7346279b.tar.bz2
egawk-b6fac528542ff95fa89e40a6a4c1da2a7346279b.zip
Merge branch 'gawk-4.1-stable'
Diffstat (limited to 'nonposix.h')
-rw-r--r--nonposix.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/nonposix.h b/nonposix.h
index 88fd9e69..976e0b7d 100644
--- a/nonposix.h
+++ b/nonposix.h
@@ -29,3 +29,18 @@
*/
#define FAKE_FD_VALUE 42
+
+#ifdef __MINGW32__
+/* Replacements for sys/wait.h macros. */
+# define WEXITSTATUS(stv) (((unsigned)(stv)) & ~0xC0000000)
+/* MS-Windows programs that crash due to a fatal exception exit with
+ an exit code whose 2 MSB bits are set. */
+# define WIFEXITED(stv) ((((unsigned)(stv)) & 0xC0000000) == 0)
+# define WIFSIGNALED(stv) ((((unsigned)(stv)) & 0xC0000000) == 0xC0000000)
+# define WTERMSIG(stv) w32_status_to_termsig ((unsigned)stv)
+# define WIFSTOPPED(stv) (0)
+# define WSTOPSIG(stv) (0)
+
+int w32_status_to_termsig (unsigned);
+
+#endif