static struct ordering forward_positional_ordering = {1, 1};
static int compare_variables_given_ordering (const void *, const void *,
- void *ordering);
+ const void *ordering);
/* Explains how to modify the variables in a dictionary. */
struct var_modification
/* Performs MODIFY VARS command. */
int
-cmd_modify_vars (void)
+cmd_modify_vars (struct dataset *ds)
{
/* Bits indicated whether we've already encountered a subcommand of
this type. */
size_t i;
- if (proc_make_temporary_transformations_permanent (current_dataset))
+ if (proc_make_temporary_transformations_permanent (ds))
msg (SE, _("MODIFY VARS may not be used after TEMPORARY. "
"Temporary transformations will be made permanent."));
"of variables."));
goto done;
}
- dict_get_vars (dataset_dict (current_dataset), &v, &nv, 1u << DC_SYSTEM);
+ dict_get_vars (dataset_dict (ds), &v, &nv, 1u << DC_SYSTEM);
}
else
{
free (v);
goto done;
}
- if (!parse_variables (dataset_dict (current_dataset), &v, &nv,
+ if (!parse_variables (dataset_dict (ds), &v, &nv,
PV_APPEND | PV_NO_DUPLICATE))
{
free (v);
msg (SE, _("`(' expected on RENAME subcommand."));
goto done;
}
- if (!parse_variables (dataset_dict (current_dataset), &vm.rename_vars, &vm.rename_cnt,
+ if (!parse_variables (dataset_dict (ds), &vm.rename_vars, &vm.rename_cnt,
PV_APPEND | PV_NO_DUPLICATE))
goto done;
if (!lex_match ('='))
already_encountered |= 4;
lex_match ('=');
- if (!parse_variables (dataset_dict (current_dataset), &keep_vars, &keep_cnt, PV_NONE))
+ if (!parse_variables (dataset_dict (ds), &keep_vars, &keep_cnt, PV_NONE))
goto done;
/* Transform the list of variables to keep into a list of
sort (keep_vars, keep_cnt, sizeof *keep_vars,
compare_variables_given_ordering, &forward_positional_ordering);
- dict_get_vars (dataset_dict (current_dataset), &all_vars, &all_cnt, 0);
+ dict_get_vars (dataset_dict (ds), &all_vars, &all_cnt, 0);
assert (all_cnt >= keep_cnt);
drop_cnt = all_cnt - keep_cnt;
already_encountered |= 4;
lex_match ('=');
- if (!parse_variables (dataset_dict (current_dataset), &drop_vars, &drop_cnt, PV_NONE))
+ if (!parse_variables (dataset_dict (ds), &drop_vars, &drop_cnt, PV_NONE))
goto done;
vm.drop_vars = drop_vars;
vm.drop_cnt = drop_cnt;
}
else if (lex_match_id ("MAP"))
{
- struct dictionary *temp = dict_clone (dataset_dict (current_dataset));
+ struct dictionary *temp = dict_clone (dataset_dict (ds));
int success = rearrange_dict (temp, &vm);
if (success)
{
if (already_encountered & (1 | 4))
{
/* Read the data. */
- if (!procedure (current_dataset,NULL, NULL))
+ if (!procedure (ds,NULL, NULL))
goto done;
}
- if (!rearrange_dict (dataset_dict (current_dataset), &vm))
+ if (!rearrange_dict (dataset_dict (ds), &vm))
goto done;
ret_code = CMD_SUCCESS;
ORDERING, returning a strcmp()-type result. */
static int
compare_variables_given_ordering (const void *a_, const void *b_,
- void *ordering_)
+ const void *ordering_)
{
struct variable *const *pa = a_;
struct variable *const *pb = b_;
var_renaming structures A and B. */
static int
compare_var_renaming_by_new_name (const void *a_, const void *b_,
- void *foo UNUSED)
+ const void *aux UNUSED)
{
const struct var_renaming *a = a_;
const struct var_renaming *b = b_;