Implement DATASET commands.
[pspp-builds.git] / src / language / data-io / get-data.c
index 07000eb2041aa1a9870c38d8d7ea42826292d024..e3e6c5d43bd0d4a4b7818d88e2a81b2f02e3bd32 100644 (file)
@@ -122,7 +122,10 @@ parse_get_psql (struct lexer *lexer, struct dataset *ds)
     struct casereader *reader = psql_open_reader (&psql, &dict);
 
     if ( reader )
-      proc_set_active_file (ds, reader, dict);
+      {
+        dataset_set_dict (ds, dict);
+        dataset_set_source (ds, reader);
+      }
   }
 
   ds_destroy (&psql.sql);
@@ -232,7 +235,10 @@ parse_get_gnm (struct lexer *lexer, struct dataset *ds)
     struct casereader *reader = gnumeric_open_reader (&gri, &dict);
 
     if ( reader )
-      proc_set_active_file (ds, reader, dict);
+      {
+        dataset_set_dict (ds, dict);
+        dataset_set_source (ds, reader);
+      }
   }
 
   free (gri.file_name);
@@ -273,7 +279,7 @@ static int
 parse_get_txt (struct lexer *lexer, struct dataset *ds)
 {
   struct data_parser *parser = NULL;
-  struct dictionary *dict = dict_create ();
+  struct dictionary *dict = dict_create (get_default_encoding ());
   struct file_handle *fh = NULL;
   struct dfm_reader *reader = NULL;
   char *name = NULL;
@@ -287,7 +293,7 @@ parse_get_txt (struct lexer *lexer, struct dataset *ds)
   if (!lex_force_match_id (lexer, "FILE"))
     goto error;
   lex_force_match (lexer, T_EQUALS);
-  fh = fh_parse (lexer, FH_REF_FILE | FH_REF_INLINE);
+  fh = fh_parse (lexer, FH_REF_FILE | FH_REF_INLINE, NULL);
   if (fh == NULL)
     goto error;