diff -ruN netkit-rsh-0.17.orig/rlogin/rlogin.c netkit-rsh-0.17/rlogin/rlogin.c --- netkit-rsh-0.17.orig/rlogin/rlogin.c 2016-12-21 13:25:05.138064634 -0500 +++ netkit-rsh-0.17/rlogin/rlogin.c 2016-12-21 13:34:24.172847615 -0500 @@ -421,7 +421,7 @@ void catch_child(int ignore) { - union wait status; + int status; int pid; (void)ignore; @@ -432,7 +432,7 @@ return; /* if the child (reader) dies, just quit */ if (pid < 0 || (pid == childpid && !WIFSTOPPED(status))) - done((int)(status.w_termsig | status.w_retcode)); + done((int)(WTERMSIG(status) | WEXITSTATUS(status))); } /* NOTREACHED */ } Binary files netkit-rsh-0.17.orig/rlogin/.rlogin.c.swp and netkit-rsh-0.17/rlogin/.rlogin.c.swp differ