X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Frcvtty.c;h=8ce068d65be8aececa3558602b9da92e1475cfc7;hb=3ef341abe440ece07f8deed59fb026ab020e805a;hp=8b04d61d0c8bf0e14fbfd8763f6a4a5d364bcc91;hpb=5dd6771b28c257af405d7248639ed0e3bcdce38b;p=mmh diff --git a/uip/rcvtty.c b/uip/rcvtty.c index 8b04d61..8ce068d 100644 --- a/uip/rcvtty.c +++ b/uip/rcvtty.c @@ -78,7 +78,7 @@ char *getusername(void); /* * static prototypes */ -static RETSIGTYPE alrmser (int); +static void alrmser (int); static int message_fd (char **); static int header_fd (void); static void alert (char *, int); @@ -204,12 +204,10 @@ main (int argc, char **argv) } -static RETSIGTYPE +static void alrmser (int i) { -#ifndef RELIABLE_SIGNALS - SIGNAL (SIGALRM, alrmser); -#endif + NMH_UNUSED (i); longjmp (myctx, 1); } @@ -219,17 +217,12 @@ static int message_fd (char **vec) { pid_t child_id; - int bytes, fd, seconds; + int bytes, seconds; + volatile int fd; char tmpfil[BUFSIZ]; struct stat st; -#ifdef HAVE_MKSTEMP fd = mkstemp (strncpy (tmpfil, "/tmp/rcvttyXXXXX", sizeof(tmpfil))); -#else - unlink (mktemp (strncpy (tmpfil, "/tmp/rcvttyXXXXX", sizeof(tmpfil)))); - if ((fd = open (tmpfil, O_RDWR | O_CREAT | O_TRUNC, 0600)) == NOTOK) - return header_fd (); -#endif unlink (tmpfil); if ((child_id = vfork()) == NOTOK) { @@ -263,7 +256,7 @@ message_fd (char **vec) * Ruthlessly kill the child and anything * else in its process group. */ - KILLPG(child_id, SIGKILL); + killpg(child_id, SIGKILL); } close (fd); return header_fd ();