aboutsummaryrefslogtreecommitdiffstats
path: root/util/ttyio.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/ttyio.c')
-rw-r--r--util/ttyio.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/util/ttyio.c b/util/ttyio.c
index 05c0a3796..c8177d755 100644
--- a/util/ttyio.c
+++ b/util/ttyio.c
@@ -185,7 +185,10 @@ init_ttyfp(void)
#else
ttyfp = batchmode? stderr : fopen( tty_get_ttyname (), "r+");
if( !ttyfp ) {
- log_error("cannot open `%s': %s\n",
+ ttyfp = stderr; /* Use stderr as fallback for log_error. */
+ initialized = 1; /* Make sure log_error won't try to init
+ the tty again. */
+ log_error("cannot open tty `%s': %s\n",
tty_get_ttyname (), strerror(errno) );
exit(2);
}
@@ -258,7 +261,7 @@ tty_printf( const char *fmt, ... )
va_start( arg_ptr, fmt ) ;
#ifdef _WIN32
- {
+ {
char *buf;
int n;
DWORD nwritten;
@@ -267,7 +270,7 @@ tty_printf( const char *fmt, ... )
if (!buf)
log_bug("xtryvasprintf() failed\n");
n = strlen (buf);
-
+
if (!WriteConsoleA (con.out, buf, n, &nwritten, NULL))
log_fatal ("WriteConsole failed: %s", w32_strerror (0));
if( n != nwritten )
@@ -306,7 +309,7 @@ tty_fprintf (FILE *fp, const char *fmt, ... )
va_start( arg_ptr, fmt ) ;
#ifdef _WIN32
- {
+ {
char *buf;
int n;
DWORD nwritten;
@@ -315,7 +318,7 @@ tty_fprintf (FILE *fp, const char *fmt, ... )
if (!buf)
log_bug ("xtryvasprintf() failed\n");
n = strlen (buf);
-
+
if (!WriteConsoleA (con.out, buf, n, &nwritten, NULL))
log_fatal ("WriteConsole failed: %s", w32_strerror (0));
if (n != nwritten)