/* PSPP - computes sample statistics.
Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
- Written by Ben Pfaff <blp@gnu.org>.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
#include "gettext.h"
#define _(msgid) gettext (msgid)
-/* FIXME: should change weighting variable, etc. */
/* These control the ordering produced by
compare_variables_given_ordering(). */
struct ordering
"of variables."));
goto done;
}
- dict_get_vars (dataset_dict (ds), &v, &nv, 1u << DC_SYSTEM);
+ dict_get_vars_mutable (dataset_dict (ds), &v, &nv, 1u << DC_SYSTEM);
}
else
{
{
msg (SE, _("Differing number of variables in old name list "
"(%d) and in new name list (%d)."),
- vm.rename_cnt - prev_nv_2, prev_nv_1 - prev_nv_2);
+ (int) (vm.rename_cnt - prev_nv_2),
+ (int) (prev_nv_1 - prev_nv_2));
for (i = 0; i < prev_nv_1; i++)
free (vm.new_names[i]);
free (vm.new_names);
sort (keep_vars, keep_cnt, sizeof *keep_vars,
compare_variables_given_ordering, &forward_positional_ordering);
- dict_get_vars (dataset_dict (ds), &all_vars, &all_cnt, 0);
+ dict_get_vars_mutable (dataset_dict (ds), &all_vars, &all_cnt, 0);
assert (all_cnt >= keep_cnt);
drop_cnt = all_cnt - keep_cnt;
if (already_encountered & (1 | 4))
{
/* Read the data. */
- if (!procedure (ds,NULL, NULL))
+ if (!proc_execute (ds))
goto done;
}
const struct ordering *ordering = ordering_;
int result;
- if (ordering->positional)
- result = a->index < b->index ? -1 : a->index > b->index;
+ if (ordering->positional)
+ {
+ size_t a_index = var_get_dict_index (a);
+ size_t b_index = var_get_dict_index (b);
+ result = a_index < b_index ? -1 : a_index > b_index;
+ }
else
- result = strcasecmp (a->name, b->name);
+ result = strcasecmp (var_get_name (a), var_get_name (b));
if (!ordering->forward)
result = -result;
return result;
size_t i;
/* All variables, in index order. */
- dict_get_vars (d, &all_vars, &all_cnt, 0);
+ dict_get_vars_mutable (d, &all_vars, &all_cnt, 0);
/* Drop variables, in index order. */
drop_cnt = vm->drop_cnt;
for (i = 0; i < keep_cnt; i++)
{
var_renaming[i].var = keep_vars[i];
- strcpy (var_renaming[i].new_name, keep_vars[i]->name);
+ strcpy (var_renaming[i].new_name, var_get_name (keep_vars[i]));
}
/* Rename variables in var_renaming array. */
still exist, but we can still look them up by name. */
rename_old_names = xnmalloc (vm->rename_cnt, sizeof *rename_old_names);
for (i = 0; i < vm->rename_cnt; i++)
- rename_old_names[i] = xstrdup (vm->rename_vars[i]->name);
+ rename_old_names[i] = xstrdup (var_get_name (vm->rename_vars[i]));
/* Reorder and delete variables. */
dict_reorder_vars (d, vm->reorder_vars, vm->reorder_cnt);