Blob Blame History Raw
--- 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]);