X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fcorrelations.q;h=f190307d1e31c9ebbacb86d97c94733e5107a2fa;hb=bf71a28cc57afd259bb086ac5dfde5b685ba7995;hp=e3e131fd5a9617d19562a1fac8d3242b77d15595;hpb=fcb9e49b2a2d57af7c001ae5d2eda9ac443ba36b;p=pspp-builds.git diff --git a/src/correlations.q b/src/correlations.q index e3e131fd..f190307d 100644 --- a/src/correlations.q +++ b/src/correlations.q @@ -14,12 +14,13 @@ 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" @@ -32,7 +33,7 @@ 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; @@ -72,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); @@ -83,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); @@ -129,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; @@ -162,3 +162,9 @@ free_correlations_state (void) free (cor); } } + +/* + Local Variables: + mode: c + End: +*/