X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fterminal%2Fterminal-opts.c;h=a0f6072b521b65698ee4d0c6bb33fee8da2f4b4e;hb=ddb7b52128d8f1f54d9632dc3a15c7869e0fbcce;hp=886bcdc2fe86bafcb7b602d0fcef3e0bdbdd4ffc;hpb=f51ecb48027e6b1eb46840ae25888a25b429f012;p=pspp-builds.git diff --git a/src/ui/terminal/terminal-opts.c b/src/ui/terminal/terminal-opts.c index 886bcdc2..a0f6072b 100644 --- a/src/ui/terminal/terminal-opts.c +++ b/src/ui/terminal/terminal-opts.c @@ -38,6 +38,7 @@ #include "libpspp/version.h" #include "output/driver.h" #include "output/driver-provider.h" +#include "output/msglog.h" #include "ui/terminal/msg-ui.h" #include "ui/terminal/read-line.h" @@ -57,6 +58,7 @@ struct terminal_opts struct string_map options; /* Output driver options. */ bool has_output_driver; bool has_terminal_driver; + bool has_error_file; bool process_statrc; }; @@ -234,7 +236,8 @@ terminal_option_callback (int id, void *to_) break; case OPT_ERROR_FILE: - msg_ui_set_error_file (optarg); + if (!strcmp (optarg, "none") || msglog_create (optarg)) + to->has_error_file = true; break; case OPT_OUTPUT: @@ -279,6 +282,7 @@ terminal_opts_init (struct argv_parser *ap, struct source_stream *ss) to->syntax_mode = GETL_BATCH; string_map_init (&to->options); to->has_output_driver = false; + to->has_error_file = false; to->process_statrc = true; argv_parser_add_options (ap, terminal_argv_options, N_TERMINAL_OPTIONS, @@ -331,6 +335,9 @@ terminal_opts_done (struct terminal_opts *to, int argc, char *argv[]) register_output_driver (to); } + if (to->has_terminal_driver && !to->has_error_file) + msglog_create ("-"); + string_map_destroy (&to->options); free (to); }