02110-1301, USA. */
#include <config.h>
+
#include <stdlib.h>
-#include <libpspp/alloc.h>
-#include <libpspp/compiler.h>
+
#include <data/dictionary.h>
#include <data/file-handle-def.h>
-#include <language/data-io/file-handle.h>
+#include <data/procedure.h>
+#include <data/variable.h>
#include <language/command.h>
+#include <language/data-io/file-handle.h>
#include <language/lexer/lexer.h>
-#include <data/variable.h>
+#include <language/lexer/variable-parser.h>
+#include <libpspp/alloc.h>
+#include <libpspp/compiler.h>
+
/* (headers) */
struct cor_set
size_t nv1, nv2;
};
-struct cor_set *cor_list, *cor_last;
+static struct cor_set *cor_list, *cor_last;
-struct file_handle *matrix_file;
+static struct file_handle *matrix_file;
static void free_correlations_state (void);
static int internal_cmd_correlations (void);
/* (specification)
"CORRELATIONS" (cor_):
*variables=custom;
- +missing=miss:!pairwise/listwise,
- inc:include/exclude;
+ missing=miss:!pairwise/listwise,
+ inc:include/exclude;
+print=tail:!twotail/onetail,
sig:!sig/nosig;
+format=fmt:!matrix/serial;
cor_list = cor_last = NULL;
matrix_file = NULL;
- if (!parse_correlations (&cmd))
+ if (!parse_correlations (&cmd, NULL))
return CMD_FAILURE;
free_correlations (&cmd);
}
static int
-cor_custom_variables (struct cmd_correlations *cmd UNUSED)
+cor_custom_variables (struct cmd_correlations *cmd UNUSED, void *aux UNUSED)
{
struct variable **v1, **v2;
size_t nv1, nv2;
/* Ensure that this is a VARIABLES subcommand. */
if (!lex_match_id ("VARIABLES")
- && (token != T_ID || dict_lookup_var (default_dict, tokid) != NULL)
+ && (token != T_ID || dict_lookup_var (dataset_dict (current_dataset), tokid) != NULL)
&& token != T_ALL)
return 2;
lex_match ('=');
- if (!parse_variables (default_dict, &v1, &nv1,
+ if (!parse_variables (dataset_dict (current_dataset), &v1, &nv1,
PV_NO_DUPLICATE | PV_NUMERIC))
return 0;
if (lex_match (T_WITH))
{
- if (!parse_variables (default_dict, &v2, &nv2,
+ if (!parse_variables (dataset_dict (current_dataset), &v2, &nv2,
PV_NO_DUPLICATE | PV_NUMERIC))
{
free (v1);
}
static int
-cor_custom_matrix (struct cmd_correlations *cmd UNUSED)
+cor_custom_matrix (struct cmd_correlations *cmd UNUSED, void *aux UNUSED)
{
if (!lex_force_match ('('))
return 0;