--- ./cribbage/instr.c +++ ./cribbage/instr.c @@ -51,7 +51,11 @@ void instructions(void) { struct stat sb; +#ifdef __DragonFly__ union wait pstat; +#else + int pstat; +#endif pid_t pid; const char *pager, *path; @@ -77,7 +81,11 @@ instructions(void) do { pid = waitpid(pid, (int *)&pstat, 0); } while (pid == -1 && errno == EINTR); +#ifdef __DragonFly__ if (pid == -1 || pstat.w_status) +#else + if (pid == -1 || WEXITSTATUS(pstat) || WTERMSIG(pstat)) +#endif exit(1); } } --- ./sail/pl_1.c +++ ./sail/pl_1.c @@ -122,7 +122,11 @@ choke(void) void child(void) { +#ifdef __DragonFly__ union wait status; +#else + int status; +#endif int pid; signal(SIGCHLD, SIG_IGN);