diff options
author | Fumitoshi UKAI <ukai@debian.or.jp> | 2003-01-10 16:16:44 +0000 |
---|---|---|
committer | Fumitoshi UKAI <ukai@debian.or.jp> | 2003-01-10 16:16:44 +0000 |
commit | 329cc01d501ff2f809598474ffeda439e7aedd2e (patch) | |
tree | e1f0d8b90e36152ac90ec08dbfeac8929083b1ef /terms.c | |
parent | fix indent (diff) | |
download | w3m-329cc01d501ff2f809598474ffeda439e7aedd2e.tar.gz w3m-329cc01d501ff2f809598474ffeda439e7aedd2e.zip |
[w3m-dev 03622] Re: Error occured while reset
* file.c (uncompress_stream): child process initialized
* terms.c (close_tty): close unless stdin,out,err
(reset_tty): flush_tty, close_tty
(write1): flush_tty
(refresh): flush_tty
(flush_tty): check ttyf
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
Diffstat (limited to 'terms.c')
-rw-r--r-- | terms.c | 26 |
1 files changed, 12 insertions, 14 deletions
@@ -1,4 +1,4 @@ -/* $Id: terms.c,v 1.42 2002/12/18 16:42:32 ukai Exp $ */ +/* $Id: terms.c,v 1.43 2003/01/10 16:16:45 ukai Exp $ */ /* * An original curses library for EUC-kanji by Akinori ITO, December 1989 * revised by Akinori ITO, January 1995 @@ -362,12 +362,9 @@ typedef struct scline { short eol; } Screen; -static -TerminalMode d_ioval; -static -int tty; -static -FILE *ttyf; +static TerminalMode d_ioval; +static int tty = -1; +static FILE *ttyf = NULL; static char bp[1024], funcstr[256]; @@ -556,7 +553,8 @@ set_cc(int spec, int val) void close_tty(void) { - close(tty); + if (tty > 2) + close(tty); } char * @@ -582,10 +580,9 @@ reset_tty(void) writestr(T_cl); } writestr(T_se); /* reset terminal */ - fflush(ttyf); + flush_tty(); TerminalSet(tty, &d_ioval); - if (tty != 2) - close(tty); + close_tty(); } MySignalHandler @@ -871,7 +868,7 @@ write1(char c) putc(c, ttyf); #endif /* not JP_CHARSET */ #ifdef SCREEN_DEBUG - fflush(ttyf); + flush_tty(); #endif /* SCREEN_DEBUG */ return 0; } @@ -1427,7 +1424,7 @@ refresh(void) #endif /* JP_CHARSET */ } MOVE(CurLine, CurColumn); - fflush(ttyf); + flush_tty(); } void @@ -2170,7 +2167,8 @@ mouse_inactive() void flush_tty() { - fflush(ttyf); + if (ttyf) + fflush(ttyf); } #ifdef USE_IMAGE |