X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fdata-io%2Fdata-list.c;h=7a2a074b59e763eebe322780c96e86f057991ed6;hb=8ea97bfb8e21cac5964212c175782c48159764b7;hp=51dbce114089261606925849b29c67081054460d;hpb=2a2e0fe99b3bdf364bff6f0eb7a13ce40be9488c;p=pspp diff --git a/src/language/data-io/data-list.c b/src/language/data-io/data-list.c index 51dbce1140..7a2a074b59 100644 --- a/src/language/data-io/data-list.c +++ b/src/language/data-io/data-list.c @@ -282,7 +282,8 @@ cmd_data_list (struct lexer *lexer, struct dataset *ds) error: data_parser_destroy (parser); - dict_destroy (dict); + if (!in_input_program ()) + dict_destroy (dict); fh_unref (fh); return CMD_CASCADING_FAILURE; } @@ -404,7 +405,7 @@ parse_free (struct lexer *lexer, struct dictionary *dict, if (!parse_DATA_LIST_vars_pool (lexer, tmp_pool, &name, &name_cnt, PV_NONE)) - return 0; + return false; if (lex_match (lexer, '(')) { @@ -424,7 +425,7 @@ parse_free (struct lexer *lexer, struct dictionary *dict, { lex_match (lexer, '*'); input = fmt_for_input (FMT_F, 8, 0); - output = *get_format (); + output = *settings_get_format (); } for (i = 0; i < name_cnt; i++) @@ -435,7 +436,7 @@ parse_free (struct lexer *lexer, struct dictionary *dict, if (v == NULL) { msg (SE, _("%s is a duplicate variable name."), name[i]); - return 0; + return false; } var_set_both_formats (v, &output);