X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/c25e555e6ffca87394f2dee5e4090406a6e45259..6fd1d18f:/uip/rcvtty.c?ds=sidebyside diff --git a/uip/rcvtty.c b/uip/rcvtty.c index 0c717b45..f1368f71 100644 --- a/uip/rcvtty.c +++ b/uip/rcvtty.c @@ -17,8 +17,9 @@ #include #include #include +#include "h/done.h" #include -#include "../sbr/m_mktemp.h" +#include "sbr/m_mktemp.h" #include #ifdef HAVE_GETUTXENT @@ -58,11 +59,6 @@ static int width = -1; static char *form = NULL; static char *format = NULL; -/* - * external prototypes - */ -char *getusername(void); - /* * static prototypes */ @@ -219,7 +215,7 @@ message_fd (char **vec) pidwait(child_id, OK); alarm (0); - if (fstat (fd, &st) != NOTOK && st.st_size > (off_t) 0) + if (fstat (fd, &st) != NOTOK && st.st_size > 0) return fd; } else { /* @@ -235,11 +231,11 @@ message_fd (char **vec) /* child process */ rewind (stdin); if (dup2 (fd, 1) == NOTOK || dup2 (fd, 2) == NOTOK) - _exit (-1); + _exit(1); closefds (3); - setpgid ((pid_t) 0, getpid ()); /* put in own process group */ + setpgid(0, getpid()); /* put in own process group */ if (execvp (vec[0], vec) == NOTOK) { - _exit (-1); + _exit(1); } return NOTOK; @@ -303,19 +299,18 @@ alert (char *tty, int md) if (stat (ttyspec, &st) == NOTOK || (st.st_mode & mask) == 0) return; - if (!setjmp (myctx)) { - SIGNAL (SIGALRM, alrmser); - alarm (2); - td = open (ttyspec, O_WRONLY); - alarm (0); - if (td == NOTOK) - return; - } else { + if (setjmp (myctx)) { alarm (0); return; } - - lseek (md, (off_t) 0, SEEK_SET); + SIGNAL (SIGALRM, alrmser); + alarm (2); + td = open (ttyspec, O_WRONLY); + alarm (0); + if (td == NOTOK) + return; + + lseek(md, 0, SEEK_SET); while ((i = read (md, buffer, sizeof(buffer))) > 0) if (write (td, buffer, i) != i)