Fix use of size_t in printf formats. Patch #5727.
[pspp-builds.git] / src / language / dictionary / modify-variables.c
index 7c9a4b24bd0402667b5d83cc50e022978a549095..c1f71538b4109db29eac7d27a0a6adce7d6a491e 100644 (file)
@@ -1,6 +1,5 @@
 /* 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
@@ -211,7 +210,8 @@ cmd_modify_vars (struct lexer *lexer, struct dataset *ds)
                {
                  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);
@@ -354,10 +354,14 @@ compare_variables_given_ordering (const void *a_, const void *b_,
   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;
@@ -430,7 +434,7 @@ validate_var_modification (const struct dictionary *d,
   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. */
@@ -493,7 +497,7 @@ rearrange_dict (struct dictionary *d, const struct var_modification *vm)
      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);