Stop using 'union wait' for the status of wait*() in a few places.
authorSascha Wildner <saw@online.de>
Sun, 10 May 2015 02:21:02 +0000 (04:21 +0200)
committerSascha Wildner <saw@online.de>
Sun, 10 May 2015 03:18:19 +0000 (05:18 +0200)
It is deprecated old 4.3BSD compatibility stuff and will soon go away.

games/cribbage/instr.c
games/sail/pl_1.c
usr.bin/rlogin/rlogin.c
usr.bin/script/script.c

index fb8ba80..886ddab 100644 (file)
@@ -28,7 +28,6 @@
  *
  * @(#)instr.c 8.1 (Berkeley) 5/31/93
  * $FreeBSD: src/games/cribbage/instr.c,v 1.5 1999/12/12 03:04:15 billf Exp $
- * $DragonFly: src/games/cribbage/instr.c,v 1.4 2006/09/09 02:21:49 pavalos Exp $
  */
 
 #include <sys/wait.h>
@@ -49,7 +48,7 @@ void
 instructions(void)
 {
        struct stat sb;
-       union wait pstat;
+       int pstat;
        pid_t pid;
        const char *pager, *path;
 
@@ -73,9 +72,9 @@ instructions(void)
                _exit(1);
        default:
                do {
-                       pid = waitpid(pid, (int *)&pstat, 0);
+                       pid = waitpid(pid, &pstat, 0);
                } while (pid == -1 && errno == EINTR);
-               if (pid == -1 || pstat.w_status)
+               if (pid == -1 || WEXITSTATUS(pstat))
                        exit(1);
        }
 }
index f62276b..e78d1ee 100644 (file)
@@ -28,7 +28,6 @@
  *
  * @(#)pl_1.c  8.1 (Berkeley) 5/31/93
  * $FreeBSD: src/games/sail/pl_1.c,v 1.2 1999/11/30 03:49:36 billf Exp $
- * $DragonFly: src/games/sail/pl_1.c,v 1.4 2006/09/03 17:33:13 pavalos Exp $
  */
 
 #include <sys/types.h>
@@ -118,12 +117,12 @@ choke(void)
 void
 child(void)
 {
-       union wait status;
-       int pid;
+       pid_t pid;
+       int status;
 
        signal(SIGCHLD, SIG_IGN);
        do {
-               pid = wait3((int *)&status, WNOHANG, NULL);
+               pid = wait3(&status, WNOHANG, NULL);
                if (pid < 0 || (pid > 0 && !WIFSTOPPED(status)))
                        hasdriver = 0;
        } while (pid > 0);
index 0b7563b..21cfe11 100644 (file)
@@ -455,16 +455,16 @@ writeroob(int signo __unused)
 void
 catch_child(int signo __unused)
 {
-       union wait status;
-       int pid;
+       pid_t pid;
+       int status;
 
        for (;;) {
-               pid = wait3((int *)&status, WNOHANG|WUNTRACED, NULL);
+               pid = wait3(&status, WNOHANG|WUNTRACED, NULL);
                if (pid == 0)
                        return;
                /* if the child (reader) dies, just quit */
                if (pid < 0 || (pid == child && !WIFSTOPPED(status)))
-                       done((int)(status.w_termsig | status.w_retcode));
+                       done(WTERMSIG(status) | WEXITSTATUS(status));
        }
        /* NOTREACHED */
 }
index 96e16fe..e3931ec 100644 (file)
@@ -29,7 +29,6 @@
  * @(#) Copyright (c) 1980, 1992, 1993 The Regents of the University of California.  All rights reserved.
  * @(#)script.c        8.1 (Berkeley) 6/6/93
  * $FreeBSD: /usr/local/www/cvsroot/FreeBSD/src/usr.bin/script/script.c,v 1.11.2.2 2004/03/13 09:21:00 cperciva Exp $
- * $DragonFly: src/usr.bin/script/script.c,v 1.10 2005/03/16 06:26:49 cpressey Exp $
  */
 
 #include <sys/types.h>
@@ -207,10 +206,10 @@ reap(pid_t child)
 {
        int e;
        pid_t pid;
-       union wait status;
+       int status;
 
        e = 0;
-       while ((pid = wait3((int *)&status, WNOHANG, NULL)) > 0) {
+       while ((pid = wait3(&status, WNOHANG, NULL)) > 0) {
                if (pid == child) {
                        if (WIFEXITED(status))
                                e = WEXITSTATUS(status);