aboutsummaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
authorFumitoshi UKAI <ukai@debian.or.jp>2002-01-16 19:02:12 +0000
committerFumitoshi UKAI <ukai@debian.or.jp>2002-01-16 19:02:12 +0000
commit970d17ca4c52b32186910059bca87f8e6424050b (patch)
tree6733507b99f2542c424c5a9eb309c5c4ffca0e20 /main.c
parent[w3m-dev 02861] IPv6 configuration check (diff)
downloadw3m-970d17ca4c52b32186910059bca87f8e6424050b.tar.gz
w3m-970d17ca4c52b32186910059bca87f8e6424050b.zip
[w3m-dev 02862] SIGPIPE for migemo support
* main.c (SigPipe): added * main.c (MAIN): signal(SIGPIPE, ) * search.c: #include <errno.h> * search.c (migemostr): check fflush() error * search.c (migemostr): check result string (empty is err) * search.c (migemostr): if error occured, disable use_migemo From: Fumitoshi UKAI <ukai@debian.or.jp>
Diffstat (limited to 'main.c')
-rw-r--r--main.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/main.c b/main.c
index c660faa..1115e35 100644
--- a/main.c
+++ b/main.c
@@ -1,4 +1,4 @@
-/* $Id: main.c,v 1.62 2002/01/16 16:49:54 ukai Exp $ */
+/* $Id: main.c,v 1.63 2002/01/16 19:02:15 ukai Exp $ */
#define MAINPROGRAM
#include "fm.h"
#include <signal.h>
@@ -54,6 +54,10 @@ static MySignalHandler resize_handler(SIGNAL_ARG);
static void resize_screen(void);
#endif
+#ifdef SIGPIPE
+static MySignalHandler SigPipe(SIGNAL_ARG);
+#endif
+
#ifdef USE_MARK
static char *MarkString = NULL;
#endif
@@ -708,6 +712,9 @@ MAIN(int argc, char **argv, char **envp)
#ifdef SIGCHLD
signal(SIGCHLD, sig_chld);
#endif
+#ifdef SIGPIPE
+ signal(SIGPIPE, SigPipe);
+#endif
orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc);
err_msg = Strnew();
@@ -1206,6 +1213,18 @@ resize_screen(void)
}
#endif /* SIGWINCH */
+#ifdef SIGPIPE
+static MySignalHandler
+SigPipe(SIGNAL_ARG)
+{
+#ifdef USE_MIGEMO
+ init_migemo();
+#endif
+ signal(SIGPIPE, SigPipe);
+ SIGNAL_RETURN;
+}
+#endif
+
/*
* Command functions: These functions are called with a keystroke.
*/