--- jwhois-3.2.3/src/http.c.sigpipe 2005-08-05 15:06:34.000000000 +0200
+++ jwhois-3.2.3/src/http.c 2005-08-05 15:18:12.000000000 +0200
@@ -19,6 +19,7 @@
#include <config.h>
+#include <signal.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
@@ -269,7 +270,8 @@
/* Drats! */
if (errno)
{
- printf("[HTTP: %s: %s]\n", _("Unable to run web browser"), strerror(errno));
+ printf("[HTTP: %s: %s: %s]\n", _("Unable to run web browser"),
+ command[0], strerror(errno));
}
close(to_browser[0]);
close(from_browser[1]);
@@ -287,6 +289,8 @@
if (!isget && !post_as_file)
{
+ struct sigaction sa, old_sa;
+
/* Send POST data */
if (format)
{
@@ -301,7 +305,12 @@
element, wq->query,
extra ? "&" : "", extra ? extra : "");
}
+ sa.sa_handler = SIG_IGN;
+ sigemptyset (&sa.sa_mask);
+ sa.sa_flags = 0;
+ sigaction (SIGPIPE, &sa, &old_sa);
write(to_browser[1], data, strlen(data) + 1);
+ sigaction (SIGPIPE, &old_sa, NULL);
}
close(to_browser[1]);