X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fdata-io%2Fget.c;h=425e8c512031b8645ad6f7d4d80043b7081a5e11;hb=9aac12c2130257396c9ee4ee7860f618dcb202b0;hp=edd1512ca8daf3880291838337f256fa52d1758e;hpb=687adf53eae434e88a47bb3409f946f3a26115a4;p=pspp-builds.git diff --git a/src/language/data-io/get.c b/src/language/data-io/get.c index edd1512c..425e8c51 100644 --- a/src/language/data-io/get.c +++ b/src/language/data-io/get.c @@ -137,7 +137,7 @@ parse_read_command (struct lexer *lexer, struct dataset *ds, enum reader_command goto error; case_create (&pgm->bounce, dict_get_next_value_idx (dict)); - + start_case_map (dict); while (lex_token (lexer) != '.') @@ -148,11 +148,10 @@ parse_read_command (struct lexer *lexer, struct dataset *ds, enum reader_command } pgm->map = finish_case_map (dict); - - dict_destroy (dataset_dict (ds)); + dataset_set_dict (ds, dict); - proc_set_source (ds, + proc_set_source (ds, create_case_source (&case_reader_source_class, pgm)); return CMD_SUCCESS; @@ -1137,14 +1136,13 @@ cmd_match_files (struct lexer *lexer, struct dataset *ds) discard_variables (ds); - dict_destroy (dataset_dict (ds)); dataset_set_dict (ds, mtf.dict); mtf.dict = NULL; proc_set_source (ds, storage_source_create (mtf.output)); mtf.output = NULL; - + return mtf_free (&mtf) ? CMD_SUCCESS : CMD_CASCADING_FAILURE; - + error: proc_close (ds); mtf_free (&mtf);