[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>
This commit is contained in:
Fumitoshi UKAI
2003-01-10 16:16:44 +00:00
parent 83493cfb21
commit 329cc01d50
3 changed files with 28 additions and 20 deletions

26
terms.c
View File

@@ -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