From 5096d715285d0cc88f310d92cda664fb3e531a30 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Sun, 17 May 1998 23:39:48 +0200
Subject: [PATCH] Added fallback for WEXITSTATUS.

Rev: src/signal_handler.c:1.63
---
 src/signal_handler.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/signal_handler.c b/src/signal_handler.c
index 51c9907b16..efb7344d08 100644
--- a/src/signal_handler.c
+++ b/src/signal_handler.c
@@ -22,7 +22,7 @@
 #include "builtin_functions.h"
 #include <signal.h>
 
-RCSID("$Id: signal_handler.c,v 1.62 1998/05/17 20:40:59 grubba Exp $");
+RCSID("$Id: signal_handler.c,v 1.63 1998/05/17 21:39:48 grubba Exp $");
 
 #ifdef HAVE_PASSWD_H
 # include <passwd.h>
@@ -68,6 +68,14 @@ RCSID("$Id: signal_handler.c,v 1.62 1998/05/17 20:40:59 grubba Exp $");
 #define SIGNAL_BUFFER 16384
 #define WAIT_BUFFER 4096
 
+#ifndef WEXITSTATUS
+#ifdef HAVE_UNION_WAIT
+#define WEXITSTATUS(x) ((x).w_retcode)
+#else /* !HAVE_UNION_WAIT */
+#define WEXITSTATUS(x)	(((x)>>8)&0xff)
+#endif /* HAVE_UNION_WAIT */
+#endif /* !WEXITSTATUS */
+
 /* #define PROC_DEBUG */
 
 /* Added so we are able to patch older versions of Pike. */
@@ -483,10 +491,11 @@ static void report_child(int pid,
 					       pid_status_program)))
 	{
 	  p->state = PROCESS_EXITED;
-	  if(WIFEXITED(status))
+	  if(WIFEXITED(status)) {
 	    p->result = WEXITSTATUS(status);
-	  else
+	  } else {
 	    p->result=-1;
+	  }
 	}
       }
       map_delete(pid_mapping, &key);
-- 
GitLab