X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fdata-io%2Fdata-parser.c;fp=src%2Flanguage%2Fdata-io%2Fdata-parser.c;h=f7657e2c8e7bf34b38c202ceaaceb4aa62199a3f;hb=b0b05dd35b6cf6a714006953051de0201f9876d9;hp=960505a5ce25f322931f1e8050161f72f0698ede;hpb=4dc6293d51b59324286be41465587a72f133ea0b;p=pspp diff --git a/src/language/data-io/data-parser.c b/src/language/data-io/data-parser.c index 960505a5ce..f7657e2c8e 100644 --- a/src/language/data-io/data-parser.c +++ b/src/language/data-io/data-parser.c @@ -27,6 +27,7 @@ #include "data/dictionary.h" #include "data/format.h" #include "data/file-handle-def.h" +#include "data/session.h" #include "data/settings.h" #include "language/data-io/data-reader.h" #include "libpspp/message.h" @@ -733,13 +734,13 @@ struct data_parser_casereader static const struct casereader_class data_parser_casereader_class; -/* Replaces DS's active dataset by an input program that reads data - from READER according to the rules in PARSER, using DICT as - the underlying dictionary. Ownership of PARSER and READER is - transferred to the input program, and ownership of DICT is - transferred to the dataset. */ +/* Creates a new unnamed dataset in SESSION. The new dataset has an input + program that reads data from READER according to the rules in PARSER, using + DICT as the underlying dictionary. Transfers ownership of PARSER and READER + is to the input program, and ownership of DICT to the dataset. */ void -data_parser_make_active_file (struct data_parser *parser, struct dataset *ds, +data_parser_make_active_file (struct data_parser *parser, + struct session *session, struct dfm_reader *reader, struct dictionary *dict) { @@ -753,8 +754,11 @@ data_parser_make_active_file (struct data_parser *parser, struct dataset *ds, casereader = casereader_create_sequential (NULL, r->proto, CASENUMBER_MAX, &data_parser_casereader_class, r); + + struct dataset *ds = dataset_create (session, ""); dataset_set_dict (ds, dict); dataset_set_source (ds, casereader); + session_set_active_dataset (session, ds); } static struct ccase *