X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fcorrelations.q;h=f5348748d50c95365e83c69fe2bb2ef00dd44c46;hb=92fb12eb06716d14c05b781f5d9dcde956d77c30;hp=6b708f6497fcb3863ff3d42c6fa5fcee7aa11031;hpb=4944c86a9318bc5b5578ab145a95c116ffd2c9fd;p=pspp diff --git a/src/correlations.q b/src/correlations.q index 6b708f6497..f5348748d5 100644 --- a/src/correlations.q +++ b/src/correlations.q @@ -14,27 +14,26 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ #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 { struct cor_set *next; struct variable **v1, **v2; - int nv1, nv2; + size_t nv1, nv2; }; struct cor_set *cor_list, *cor_last; @@ -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; + size_t 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 (FH_REF_FILE); + 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: +*/