X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Frank.q;h=2247354dcd337557f2127e0ddbbd84ec599917bf;hb=d8fff4b13efef42dcb8ef94bf99ee275d889c860;hp=49a040e3ae0c7facbb87258cf21c8f108e4973b0;hpb=81579d9e9f994fb2908f50af41c3eb033d216e58;p=pspp-builds.git diff --git a/src/language/stats/rank.q b/src/language/stats/rank.q index 49a040e3..2247354d 100644 --- a/src/language/stats/rank.q +++ b/src/language/stats/rank.q @@ -24,10 +24,10 @@ #include "data/casegrouper.h" #include "data/casereader.h" #include "data/casewriter.h" +#include "data/dataset.h" #include "data/dictionary.h" #include "data/format.h" #include "data/missing-values.h" -#include "data/procedure.h" #include "data/short-names.h" #include "data/subcase.h" #include "data/variable.h" @@ -224,7 +224,7 @@ create_var_label (struct variable *dest_var, ds_put_format (&label, _("%s of %s"), function_name[f], var_get_name (src_var)); - var_set_label (dest_var, ds_cstr (&label)); + var_set_label (dest_var, ds_cstr (&label), false); ds_destroy (&label); } @@ -279,7 +279,7 @@ rank_cmd (struct dataset *ds, const struct subcase *sc, } ok = casegrouper_destroy (split_grouper); ok = proc_commit (ds) && ok; - ok = (proc_set_active_file_data (ds, casewriter_make_reader (output)) + ok = (dataset_set_source (ds, casewriter_make_reader (output)) && ok); if (!ok) break; @@ -673,10 +673,12 @@ cmd_rank (struct lexer *lexer, struct dataset *ds) int v; for ( v = 0 ; v < n_src_vars ; v ++ ) { + struct dictionary *dict = dataset_dict (ds); + if ( rank_specs[i].destvars[v] == NULL ) { rank_specs[i].destvars[v] = - create_rank_variable (dataset_dict(ds), rank_specs[i].rfunc, src_vars[v], NULL); + create_rank_variable (dict, rank_specs[i].rfunc, src_vars[v], NULL); } create_var_label ( rank_specs[i].destvars[v], @@ -768,7 +770,7 @@ cmd_rank (struct lexer *lexer, struct dataset *ds) /* Do the ranking */ result = rank_cmd (ds, &sc, rank_specs, n_rank_specs); - /* Put the active file back in its original order. Delete + /* Put the active dataset back in its original order. Delete our sort key, which we don't need anymore. */ { struct casereader *sorted; @@ -780,7 +782,7 @@ cmd_rank (struct lexer *lexer, struct dataset *ds) result = proc_commit (ds) && result; dict_delete_var (dataset_dict (ds), order); - result = proc_set_active_file_data (ds, sorted) && result; + result = dataset_set_source (ds, sorted) && result; } rank_cleanup();