--- rfc931.c +++ rfc931.c @@ -33,7 +33,7 @@ int rfc931_timeout = RFC931_TIMEOUT;/* Global so it can be changed */ -static jmp_buf timebuf; +static sigjmp_buf timebuf; /* fsocket - open stdio stream on top of socket */ @@ -62,7 +62,7 @@ static void timeout(sig) int sig; { - longjmp(timebuf, sig); + siglongjmp(timebuf, sig); } /* rfc931 - return remote user name, given socket structures */ @@ -133,7 +133,7 @@ * Set up a timer so we won't get stuck while waiting for the server. */ - if (setjmp(timebuf) == 0) { + if (sigsetjmp(timebuf, 1) == 0) { signal(SIGALRM, timeout); alarm(rfc931_timeout);