X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fterminal%2Fterminal-opts.c;h=306ebe1523d5b674e729f44ae8a51acd50eb9b8a;hb=22f5cb71af029deb1c919b7c6bc958572f8da9f9;hp=a0f6072b521b65698ee4d0c6bb33fee8da2f4b4e;hpb=ddb7b52128d8f1f54d9632dc3a15c7869e0fbcce;p=pspp-builds.git diff --git a/src/ui/terminal/terminal-opts.c b/src/ui/terminal/terminal-opts.c index a0f6072b..306ebe15 100644 --- a/src/ui/terminal/terminal-opts.c +++ b/src/ui/terminal/terminal-opts.c @@ -68,6 +68,7 @@ enum OPT_ERROR_FILE, OPT_OUTPUT, OPT_OUTPUT_OPTION, + OPT_NO_OUTPUT, OPT_INTERACTIVE, OPT_NO_STATRC, OPT_HELP, @@ -81,6 +82,7 @@ static struct argv_option terminal_argv_options[N_TERMINAL_OPTIONS] = {"error-file", 'e', required_argument, OPT_ERROR_FILE}, {"output", 'o', required_argument, OPT_OUTPUT}, {NULL, 'O', required_argument, OPT_OUTPUT_OPTION}, + {"no-output", 0, no_argument, OPT_NO_OUTPUT}, {"interactive", 'i', no_argument, OPT_INTERACTIVE}, {"no-statrc", 'r', no_argument, OPT_NO_STATRC}, {"help", 'h', no_argument, OPT_HELP}, @@ -123,7 +125,7 @@ parse_output_option (struct terminal_opts *to, const char *option) key = xmemdup0 (option, equals - option); if (string_map_contains (&to->options, key)) { - error (0, 0, _("%s: output option %s specified more than twice"), key); + error (0, 0, _("%s: output option specified more than once"), key); free (key); return; } @@ -195,6 +197,7 @@ Output options:\n\ -O OPTION=VALUE set output option to customize previous -o\n\ -O device={terminal|listing} override device type for previous -o\n\ -e, --error-file=FILE append errors, warnings, and notes to FILE\n\ + --no-output disable default output driver\n\ Supported output formats: %s\n\ \n\ Language options:\n\ @@ -249,6 +252,12 @@ terminal_option_callback (int id, void *to_) parse_output_option (to, optarg); break; + case OPT_NO_OUTPUT: + /* Pretend that we already have an output driver, which disables adding + one in terminal_opts_done() when we don't already have one. */ + to->has_output_driver = true; + break; + case OPT_INTERACTIVE: to->syntax_mode = GETL_INTERACTIVE; break; @@ -335,7 +344,7 @@ terminal_opts_done (struct terminal_opts *to, int argc, char *argv[]) register_output_driver (to); } - if (to->has_terminal_driver && !to->has_error_file) + if (!to->has_terminal_driver && !to->has_error_file) msglog_create ("-"); string_map_destroy (&to->options);