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 | |
| 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 '')
| -rw-r--r-- | ChangeLog | 12 | ||||
| -rw-r--r-- | file.c | 10 | ||||
| -rw-r--r-- | terms.c | 26 | 
3 files changed, 28 insertions, 20 deletions
| @@ -1,5 +1,15 @@  2003-01-11  Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> +	* [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 + +2003-01-11  Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> +  	* [w3m-dev 03620] -m option and header  	* buffer.c (reshapeBuffer): fix reading from stdin  				fix -m option @@ -6258,4 +6268,4 @@ a	* [w3m-dev 03276] compile error on EWS4800  	* release-0-2-1  	* import w3m-0.2.1 -$Id: ChangeLog,v 1.662 2003/01/10 16:08:19 ukai Exp $ +$Id: ChangeLog,v 1.663 2003/01/10 16:16:44 ukai Exp $ @@ -1,4 +1,4 @@ -/* $Id: file.c,v 1.179 2003/01/10 16:08:21 ukai Exp $ */ +/* $Id: file.c,v 1.180 2003/01/10 16:16:45 ukai Exp $ */  #include "fm.h"  #include <sys/types.h>  #include "myctype.h" @@ -7808,6 +7808,10 @@ uncompress_stream(URLFile *uf, char **src)      /* fd1[0]: read, fd1[1]: write */      if ((pid1 = fork()) == 0) {  	reset_signals(); +	signal(SIGINT, SIG_IGN); +	close_tty(); +	QuietMessage = TRUE; +	fmInitialized = FALSE;  	close(fd1[0]);  	if (tmpf) {  #ifdef USE_BINMODE_STREAM @@ -7825,10 +7829,6 @@ uncompress_stream(URLFile *uf, char **src)  	    /* child */  	    int pid2;  	    int fd2[2]; -	    if (fmInitialized) { -		close_tty(); -		fmInitialized = FALSE; -	    }  	    if (pipe(fd2) < 0) {  		close(fd1[1]);  		UFclose(uf); @@ -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 | 
