X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fsplit-file.c;h=733aa9fbd31c89f5548ebe4ea5c7b4b4a9649d01;hb=cd7b08ad5e6bbec75e778acf008f84e1eb548154;hp=29fc432ef0902b4be4bb104f02d68f7e7b6fd1b1;hpb=4944c86a9318bc5b5578ab145a95c116ffd2c9fd;p=pspp-builds.git diff --git a/src/split-file.c b/src/split-file.c index 29fc432e..733aa9fb 100644 --- a/src/split-file.c +++ b/src/split-file.c @@ -21,6 +21,7 @@ #include #include "alloc.h" #include "command.h" +#include "dictionary.h" #include "error.h" #include "lexer.h" #include "str.h" @@ -29,27 +30,19 @@ int cmd_split_file (void) { - lex_match_id ("SPLIT"); - lex_match_id ("FILE"); - if (lex_match_id ("OFF")) - { - default_dict.n_splits = 0; - free (default_dict.splits); - default_dict.splits = NULL; - } + dict_set_split_vars (default_dict, NULL, 0); else { struct variable **v; int n; lex_match (T_BY); - if (!parse_variables (NULL, &v, &n, PV_NO_DUPLICATE)) + if (!parse_variables (default_dict, &v, &n, PV_NO_DUPLICATE)) return CMD_FAILURE; - default_dict.n_splits = n; - default_dict.splits = v = xrealloc (v, sizeof *v * (n + 1)); - v[n] = NULL; + dict_set_split_vars (default_dict, v, n); + free (v); } return lex_end_of_command ();