X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fcorrelations.q;h=4bde9a06311954a2848125b54d015d4ae08216d4;hb=29c51e39acf3554a56aa2adc9451cc5fd70318ae;hp=6b708f6497fcb3863ff3d42c6fa5fcee7aa11031;hpb=4944c86a9318bc5b5578ab145a95c116ffd2c9fd;p=pspp-builds.git diff --git a/src/correlations.q b/src/correlations.q index 6b708f64..4bde9a06 100644 --- a/src/correlations.q +++ b/src/correlations.q @@ -20,14 +20,13 @@ #include #include #include "alloc.h" +#include "dictionary.h" #include "file-handle.h" #include "command.h" #include "lexer.h" #include "var.h" /* (headers) */ -#undef DEBUGGING -#define DEBUGGING 1 #include "debug-print.h" struct cor_set @@ -74,9 +73,6 @@ internal_cmd_correlations (void) cor_list = cor_last = NULL; matrix_file = NULL; - lex_match_id ("PEARSON"); - lex_match_id ("CORRELATIONS"); - if (!parse_correlations (&cmd)) return CMD_FAILURE; free_correlations (&cmd); @@ -85,25 +81,26 @@ internal_cmd_correlations (void) } static int -cor_custom_variables (struct cmd_correlations *cmd unused) +cor_custom_variables (struct cmd_correlations *cmd UNUSED) { struct variable **v1, **v2; int nv1, nv2; struct cor_set *cor; /* Ensure that this is a VARIABLES subcommand. */ - if (!lex_match_id ("VARIABLES") && (token != T_ID || !is_varname (tokid)) + if (!lex_match_id ("VARIABLES") + && (token != T_ID || dict_lookup_var (default_dict, tokid) != NULL) && token != T_ALL) return 2; lex_match ('='); - if (!parse_variables (&default_dict, &v1, &nv1, + if (!parse_variables (default_dict, &v1, &nv1, PV_NO_DUPLICATE | PV_NUMERIC)) return 0; if (lex_match (T_WITH)) { - if (!parse_variables (&default_dict, &v2, &nv2, + if (!parse_variables (default_dict, &v2, &nv2, PV_NO_DUPLICATE | PV_NUMERIC)) { free (v1); @@ -131,18 +128,19 @@ cor_custom_variables (struct cmd_correlations *cmd unused) } static int -cor_custom_matrix (struct cmd_correlations *cmd unused) +cor_custom_matrix (struct cmd_correlations *cmd UNUSED) { if (!lex_force_match ('(')) return 0; if (lex_match ('*')) - matrix_file = inline_file; - else - matrix_file = fh_parse_file_handle (); - - if (!matrix_file) - return 0; + matrix_file = NULL; + else + { + matrix_file = fh_parse (); + if (matrix_file == NULL) + return 0; + } if (!lex_force_match (')')) return 0; @@ -164,3 +162,9 @@ free_correlations_state (void) free (cor); } } + +/* + Local Variables: + mode: c + End: +*/