diff --git a/contrib/bc/bc/main.c b/contrib/bc/bc/main.c index 0189e1904053..d2bbdfe29463 100644 --- a/contrib/bc/bc/main.c +++ b/contrib/bc/bc/main.c @@ -137,16 +137,19 @@ main (argc, argv) char *env_value; char *env_argv[30]; int env_argc; + extern FILE *rl_outstream; /* Initialize many variables. */ compile_only = FALSE; use_math = FALSE; warn_not_std = FALSE; std_only = FALSE; - if (isatty(0) && isatty(1)) + if (isatty(0) && isatty(1)) interactive = TRUE; - else + else { interactive = FALSE; + rl_outstream = stderr; + } quiet = FALSE; file_names = NULL; diff --git a/contrib/bc/bc/scan.l b/contrib/bc/bc/scan.l index 8b5b25dc142c..70c8df6a4167 100644 --- a/contrib/bc/bc/scan.l +++ b/contrib/bc/bc/scan.l @@ -63,6 +63,7 @@ static char *rl_start = (char *)NULL; static char rl_len = 0; /* Definitions for readline access. */ +extern FILE *rl_outstream; extern FILE *rl_instream; _PROTOTYPE(char *readline, (char *)); @@ -107,8 +108,8 @@ rl_input (buf, result, max) if (rl_len != 1) add_history (rl_line); rl_line[rl_len-1] = '\n'; - printf ("\r"); - fflush (stdout); + fprintf (rl_outstream,"\r"); + fflush (rl_outstream); } if (rl_len <= max)