X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fui%2Fterminal%2Fterminal-opts.c;h=284d2c9d6115e9f4ae7477caac58544599ada0a6;hb=91ced0102521c876f1ac4602977fd15c73b25697;hp=4464296498de8674ecdeb208714691efcc443252;hpb=3dd0f6ae0d5eb73a2270a243e443c4ae03c2c16e;p=pspp diff --git a/src/ui/terminal/terminal-opts.c b/src/ui/terminal/terminal-opts.c index 4464296498..284d2c9d61 100644 --- a/src/ui/terminal/terminal-opts.c +++ b/src/ui/terminal/terminal-opts.c @@ -112,31 +112,6 @@ register_output_driver (struct terminal_opts *to) } } -static void -parse_output_option (struct terminal_opts *to, const char *option) -{ - const char *equals; - char *key, *value; - - equals = strchr (option, '='); - if (equals == NULL) - { - error (0, 0, _("%s: output option missing `='"), option); - return; - } - - key = xmemdup0 (option, equals - option); - if (string_map_contains (&to->options, key)) - { - error (0, 0, _("%s: output option specified more than once"), key); - free (key); - return; - } - - value = xmemdup0 (equals + 1, strlen (equals + 1)); - string_map_insert_nocopy (&to->options, key, value); -} - static char * get_supported_formats (void) { @@ -235,7 +210,7 @@ terminal_option_callback (int id, void *to_) break; case OPT_OUTPUT_OPTION: - parse_output_option (to, optarg); + output_driver_parse_option (optarg, &to->options); break; case OPT_NO_OUTPUT: @@ -300,33 +275,12 @@ terminal_opts_init (struct argv_parser *ap, return to; } -/* Return true iff the terminal appears to be an xterm with - UTF-8 capabilities */ -static bool -term_is_utf8_xterm (void) -{ - char *s = NULL; - - if ( (s = getenv ("TERM")) && (0 == strcmp ("xterm", s)) ) - if ( (s = getenv ("XTERM_LOCALE")) ) - return strcasestr (s, "utf8") || strcasestr (s, "utf-8"); - - return false; -} - void terminal_opts_done (struct terminal_opts *to, int argc, char *argv[]) { register_output_driver (to); if (!to->has_output_driver) { - if ((0 == strcmp (locale_charset (), "UTF-8")) - || - (term_is_utf8_xterm ()) ) - { - string_map_insert (&to->options, "box", "unicode"); - } - string_map_insert (&to->options, "output-file", "-"); string_map_insert (&to->options, "format", "txt"); register_output_driver (to);