File fix-sig-handler.patch of Package ssmtp
Index: ssmtp-2.64/ssmtp.c
===================================================================
--- ssmtp-2.64.orig/ssmtp.c
+++ ssmtp-2.64/ssmtp.c
@@ -1393,7 +1393,7 @@ handler() -- A "normal" non-portable ver
like a socket. So we longjump instead, which is erronious on
a small number of machines and ill-defined in the language
*/
-void handler(void)
+void handler(int signo)
{
extern jmp_buf TimeoutJmpBuf;
@@ -1455,7 +1455,7 @@ int ssmtp(char *argv[])
from = from_format(uad, override_from);
/* Now to the delivery of the message */
- (void)signal(SIGALRM, (void(*)())handler); /* Catch SIGALRM */
+ signal(SIGALRM, handler); /* Catch SIGALRM */
(void)alarm((unsigned) MAXWAIT); /* Set initial timer */
if(setjmp(TimeoutJmpBuf) != 0) {
/* Then the timer has gone off and we bail out */