#include "language/syntax-file.h"
#include "libpspp/argv-parser.h"
#include "libpspp/assertion.h"
+#include "libpspp/cast.h"
#include "libpspp/compiler.h"
#include "libpspp/getl.h"
#include "libpspp/llx.h"
OPT_ERROR_FILE,
OPT_OUTPUT,
OPT_OUTPUT_OPTION,
+ OPT_NO_OUTPUT,
OPT_INTERACTIVE,
OPT_NO_STATRC,
OPT_HELP,
{"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},
char *supported_formats = get_supported_formats ();
char *default_include_path = get_default_include_path ();
- printf ("\
+ printf (_("\
PSPP, a program for statistical analysis of sample data.\n\
Usage: %s [OPTION]... FILE...\n\
\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\
-h, --help display this help and exit\n\
-V, --version output version information and exit\n\
\n\
-Non-option arguments are interpreted as syntax files to execute.\n",
+Non-option arguments are interpreted as syntax files to execute.\n"),
program_name, supported_formats, default_include_path);
free (supported_formats);
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;
case OPT_VERSION:
version_etc (stdout, "pspp", PACKAGE_NAME, PACKAGE_VERSION,
"Ben Pfaff", "John Darrington", "Jason Stover",
- (char *) NULL);
+ NULL_SENTINEL);
exit (EXIT_SUCCESS);
default:
{
struct terminal_opts *to;
- to = xmalloc (sizeof *to);
+ to = xzalloc (sizeof *to);
to->source_stream = ss;
to->syntax_mode = GETL_BATCH;
string_map_init (&to->options);