#include <language/command.h>
#include <language/lexer/lexer.h>
#include <language/lexer/range-parser.h>
+#include <language/lexer/variable-parser.h>
#include <libpspp/alloc.h>
#include <libpspp/compiler.h>
#include <libpspp/message.h>
/* Get destination variable, or at least its name. */
if (!lex_force_id ())
goto fail;
- dv->var = dict_lookup_var (default_dict, tokid);
+ dv->var = dict_lookup_var (dataset_dict (current_dataset), tokid);
if (dv->var != NULL)
{
if (dv->var->type == ALPHA)
crit->next = NULL;
crit->vars = NULL;
- if (!parse_variables (default_dict, &crit->vars, &crit->var_cnt,
+ if (!parse_variables (dataset_dict (current_dataset), &crit->vars, &crit->var_cnt,
PV_DUPLICATE | PV_SAME_TYPE))
goto fail;
pool_register (trns->pool, free, crit->vars);
{
/* It's valid, though motivationally questionable, to count to
the same dest var more than once. */
- dv->var = dict_lookup_var (default_dict, dv->name);
+ dv->var = dict_lookup_var (dataset_dict (current_dataset), dv->name);
if (dv->var == NULL)
- dv->var = dict_create_var_assert (default_dict, dv->name, 0);
+ dv->var = dict_create_var_assert (dataset_dict (current_dataset), dv->name, 0);
}
- add_transformation (count_trns_proc, count_trns_free, trns);
+ add_transformation (current_dataset, count_trns_proc, count_trns_free, trns);
return CMD_SUCCESS;
fail:
return false;
cur = &crit->values.str[crit->value_cnt++];
*cur = pool_alloc (pool, len + 1);
- str_copy_rpad (*cur, len + 1, ds_c_str (&tokstr));
+ str_copy_rpad (*cur, len + 1, ds_cstr (&tokstr));
lex_get ();
lex_match (',');
/* Performs the COUNT transformation T on case C. */
static int
count_trns_proc (void *trns_, struct ccase *c,
- int case_num UNUSED)
+ casenum_t case_num UNUSED)
{
struct count_trns *trns = trns_;
struct dst_var *dv;