dataset: Rename functions with "dataset_" prefix.
[pspp-builds.git] / src / language / stats / rank.q
index f53ef2d01475a8c76040615898449e51f554f301..eb16f3113b9b3396b6096e1bfd7898f345a2e19d 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #include <config.h>
 
+#include <gsl/gsl_cdf.h>
 #include <limits.h>
 #include <math.h>
 
-#include <data/case.h>
-#include <data/casegrouper.h>
-#include <data/casereader.h>
-#include <data/casewriter.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>
-#include <language/command.h>
-#include <language/stats/sort-criteria.h>
-#include <libpspp/compiler.h>
-#include <libpspp/taint.h>
-#include <math/sort.h>
-#include <output/tab.h>
-
-#include <gsl/gsl_cdf.h>
+#include "data/case.h"
+#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/short-names.h"
+#include "data/subcase.h"
+#include "data/variable.h"
+#include "language/command.h"
+#include "language/stats/sort-criteria.h"
+#include "libpspp/compiler.h"
+#include "libpspp/taint.h"
+#include "math/sort.h"
+#include "output/tab.h"
 
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
@@ -199,7 +198,8 @@ fraction_name(void)
 /* Create a label on DEST_VAR, describing its derivation from SRC_VAR and F */
 static void
 create_var_label (struct variable *dest_var,
-                 const struct variable *src_var, enum RANK_FUNC f)
+                 const struct variable *src_var, enum RANK_FUNC f,
+                  const char *dict_encoding)
 {
   struct string label;
   ds_init_empty (&label);
@@ -225,7 +225,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), dict_encoding, false);
 
   ds_destroy (&label);
 }
@@ -280,7 +280,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;
@@ -674,15 +674,18 @@ 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],
                             src_vars[v],
-                            rank_specs[i].rfunc);
+                            rank_specs[i].rfunc,
+                             dict_get_encoding (dict));
        }
     }
 
@@ -781,7 +784,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();