Implement DATASET commands.
[pspp-builds.git] / src / language / stats / aggregate.c
index eace3479a18b17568430c7c525293faf4c31a38e..fed765692f9a65cc30d20c3b1d17ff2bef81843b 100644 (file)
@@ -182,7 +182,7 @@ cmd_aggregate (struct lexer *lexer, struct dataset *ds)
   lex_match (lexer, T_EQUALS);
   if (!lex_match (lexer, T_ASTERISK))
     {
-      out_file = fh_parse (lexer, FH_REF_FILE | FH_REF_SCRATCH);
+      out_file = fh_parse (lexer, FH_REF_FILE, dataset_session (ds));
       if (out_file == NULL)
         goto error;
     }
@@ -208,7 +208,7 @@ cmd_aggregate (struct lexer *lexer, struct dataset *ds)
   if ( agr.add_variables )
     agr.dict = dict_clone (dict);
   else
-    agr.dict = dict_create ();    
+    agr.dict = dict_create (dict_get_encoding (dict));
 
   dict_set_label (agr.dict, dict_get_label (dict));
   dict_set_documents (agr.dict, dict_get_documents (dict));
@@ -275,7 +275,7 @@ cmd_aggregate (struct lexer *lexer, struct dataset *ds)
 
   if (out_file == NULL)
     {
-      /* The active file will be replaced by the aggregated data,
+      /* The active dataset will be replaced by the aggregated data,
          so TEMPORARY is moot. */
       proc_cancel_temporary_transformations (ds);
       proc_discard_output (ds);
@@ -638,8 +638,7 @@ parse_aggregate_functions (struct lexer *lexer, const struct dictionary *dict,
 
            free (dest[i]);
            if (dest_label[i])
-              var_set_label (destvar, dest_label[i],
-                             dict_get_encoding (agr->dict), true);
+              var_set_label (destvar, dest_label[i], true);
 
            v->dest = destvar;
          }