/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <time.h>
#include <unistd.h>
+#include "gl/vasnprintf.h"
+
+#include "data/casereader.h"
#include "data/data-in.h"
#include "data/data-out.h"
#include "data/dataset.h"
scripttab=string;
seed=custom;
tnumbers=custom;
+ tvars=custom;
tb1=string;
tbfonts=string;
undefined=undef:warn/nowarn;
}
+static int
+stc_custom_tvars (struct lexer *lexer,
+ struct dataset *ds UNUSED,
+ struct cmd_set *cmd UNUSED, void *aux UNUSED)
+{
+ lex_match (lexer, T_EQUALS);
+
+ if (lex_match_id (lexer, "NAMES"))
+ {
+ settings_set_var_style (SETTINGS_VAR_STYLE_NAMES);
+ }
+ else if (lex_match_id (lexer, "LABELS"))
+ {
+ settings_set_var_style (SETTINGS_VAR_STYLE_LABELS);
+ }
+ else if (lex_match_id (lexer, "BOTH"))
+ {
+ settings_set_var_style (SETTINGS_VAR_STYLE_BOTH);
+ }
+ else
+ {
+ lex_error_expecting (lexer, "NAMES", "LABELS", "BOTH", NULL_SENTINEL);
+ return 0;
+ }
+
+ return 1;
+}
+
+
/* Parses the EPOCH subcommand, which controls the epoch used for
parsing 2-digit years. */
static int
return xstrdup (fmt_to_string (settings_get_format (), str));
}
+static char *
+show_journal (const struct dataset *ds UNUSED)
+{
+ return (journal_is_enabled ()
+ ? xasprintf ("\"%s\"", journal_get_file_name ())
+ : xstrdup ("disabled"));
+}
+
static char *
show_length (const struct dataset *ds UNUSED)
{
return strdup (host_system);
}
+static char *
+show_n (const struct dataset *ds)
+{
+ casenumber n;
+ size_t l;
+
+ const struct casereader *reader = dataset_source (ds);
+
+ if (reader == NULL)
+ return strdup (_("Unknown"));
+
+ n = casereader_count_cases (reader);
+
+ return asnprintf (NULL, &l, "%ld", n);
+}
+
+
struct show_sbc
{
const char *name;
{"ENVIRONMENT", show_system},
{"ERRORS", show_errors},
{"FORMAT", show_format},
+ {"JOURNAL", show_journal},
{"LENGTH", show_length},
{"LOCALE", show_locale},
{"MESSAGES", show_messages},
{"MXERRS", show_mxerrs},
{"MXLOOPS", show_mxloops},
{"MXWARNS", show_mxwarns},
+ {"N", show_n},
{"PRINTBACk", show_printback},
{"RESULTS", show_results},
{"RIB", show_rib},