const char *name = lex_tokcstr (lexer);
if ( var_count >= subcase_get_n_fields (&cmd->sc) )
- msg (SE, _("Too many variables in INTO clause."));
+ msg (SE, _("Too many variables in %s clause."), "INTO");
else if ( dict_lookup_var (cmd->dict, name) != NULL )
msg (SE, _("Variable %s already exists."), name);
else if (string_set_contains (new_names, name))
}
-/* Transformation function to enumerate all the cases */
-static int
-create_resort_key (void *key_var_, struct ccase **cc, casenumber case_num)
-{
- struct variable *key_var = key_var_;
-
- *cc = case_unshare (*cc);
- case_data_rw (*cc, key_var)->f = case_num;
-
- return TRNS_CONTINUE;
-}
-
static bool
rank_cmd (struct dataset *ds, const struct rank *cmd);
-
static const char *
fraction_name (const struct rank *cmd)
{
rs = pool_calloc (rank.pool, 1, sizeof *rs);
rs->rfunc = RANK;
- rs->dest_names = pool_calloc (rank.pool, 1, sizeof *rs->dest_names);
- rs->dest_labels = pool_calloc (rank.pool, 1, sizeof *rs->dest_labels);
+ rs->dest_names = pool_calloc (rank.pool, rank.n_vars,
+ sizeof *rs->dest_names);
rank.rs = rs;
rank.n_rs = 1;
{
int v;
- tab_output_text (0, _("Variables Created By RANK"));
+ tab_output_text_format (0, _("Variables Created By %s"), "RANK");
tab_output_text (0, "");
for (i = 0 ; i < rank.n_rs ; ++i )
bool ok = true;
int i;
- /* Add a variable which we can sort by to get back the original
- order */
- order_var = dict_create_var_assert (dataset_dict (ds), "$ORDER", 0);
-
- add_transformation (ds, create_resort_key, 0, order_var);
+ order_var = add_permanent_ordering_transformation (ds);
/* Create output files. */
{