/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2008, 2009, 2010, 2011, 2012, 2014 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "data/casegrouper.h"
#include "data/casereader.h"
#include "data/casewriter.h"
+#include "data/dataset.h"
#include "data/dictionary.h"
#include "data/file-handle-def.h"
#include "data/format.h"
-#include "data/procedure.h"
#include "data/settings.h"
#include "data/subcase.h"
#include "data/sys-file-writer.h"
#include "math/sort.h"
#include "math/statistic.h"
+#include "gl/c-strcase.h"
#include "gl/minmax.h"
#include "gl/xalloc.h"
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;
}
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));
lex_match (lexer, T_EQUALS);
if (!lex_match_id (lexer, "COLUMNWISE"))
{
- lex_error (lexer, _("expecting %s"), "COLUMNWISE");
+ lex_error_expecting (lexer, "COLUMNWISE", NULL);
goto error;
}
agr.missing = COLUMNWISE;
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);
else
{
dump_aggregate_info (&agr, output, c);
- case_unref (c);
}
+ case_unref (c);
}
if (!casegrouper_destroy (grouper))
goto error;
if (next_input == NULL)
goto error;
- proc_set_active_file (ds, next_input, agr.dict);
+ dataset_set_dict (ds, agr.dict);
+ dataset_set_source (ds, next_input);
agr.dict = NULL;
}
else
exclude = ds_chomp_byte (&function_name, '.') ? MV_SYSTEM : MV_ANY;
for (function = agr_func_tab; function->name; function++)
- if (!strcasecmp (function->name, ds_cstr (&function_name)))
+ if (!c_strcasecmp (function->name, ds_cstr (&function_name)))
break;
if (NULL == function->name)
{
{
if (function->src_vars == AGR_SV_YES)
{
- lex_force_match (lexer, T_LPAREN);
goto error;
}
}
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]);
v->dest = destvar;
}
free (iter);
}
if (agr->dict != NULL)
- dict_destroy (agr->dict);
+ dict_unref (agr->dict);
}
\f
/* Execution. */