projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge commit 'origin/covariance'
[pspp]
/
src
/
ui
/
terminal
/
terminal-opts.c
diff --git
a/src/ui/terminal/terminal-opts.c
b/src/ui/terminal/terminal-opts.c
index 886bcdc2fe86bafcb7b602d0fcef3e0bdbdd4ffc..d1296a36252ac449734bb6bd15875a23febd3e3f 100644
(file)
--- 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 "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"
#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;
struct string_map options; /* Output driver options. */
bool has_output_driver;
bool has_terminal_driver;
+ bool has_error_file;
bool process_statrc;
};
bool process_statrc;
};
@@
-121,7
+123,7
@@
parse_output_option (struct terminal_opts *to, const char *option)
key = xmemdup0 (option, equals - option);
if (string_map_contains (&to->options, key))
{
key = xmemdup0 (option, equals - option);
if (string_map_contains (&to->options, key))
{
- error (0, 0, _("%s: output option
%s specified more than twi
ce"), key);
+ error (0, 0, _("%s: output option
specified more than on
ce"), key);
free (key);
return;
}
free (key);
return;
}
@@
-234,7
+236,8
@@
terminal_option_callback (int id, void *to_)
break;
case OPT_ERROR_FILE:
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:
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->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,
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);
}
register_output_driver (to);
}
+ if (!to->has_terminal_driver && !to->has_error_file)
+ msglog_create ("-");
+
string_map_destroy (&to->options);
free (to);
}
string_map_destroy (&to->options);
free (to);
}