Adopt use of gnulib for portability.
[pspp-builds.git] / src / dictionary.c
index 43b4f7791728a8dafd14a6df4a9fd8d677ec0984..9ea9f31a2a644063d07ebf895f584607b1482745 100644 (file)
@@ -32,6 +32,9 @@
 #include "value-labels.h"
 #include "var.h"
 
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+
 /* A dictionary. */
 struct dictionary
   {
@@ -268,7 +271,7 @@ dict_create_var (struct dictionary *d, const char *name, int width)
 
   /* Allocate and initialize variable. */
   v = xmalloc (sizeof *v);
-  st_trim_copy (v->name, name, sizeof v->name);
+  str_copy_trunc (v->name, sizeof v->name, name);
   v->type = width == 0 ? NUMERIC : ALPHA;
   v->width = width;
   v->fv = d->next_value_idx;
@@ -279,20 +282,14 @@ dict_create_var (struct dictionary *d, const char *name, int width)
   v->miss_type = MISSING_NONE;
   if (v->type == NUMERIC)
     {
-      v->print.type = FMT_F;
-      v->print.w = 8;
-      v->print.d = 2;
-
+      v->print = f8_2;
       v->alignment = ALIGN_RIGHT;
       v->display_width = 8;
       v->measure = MEASURE_SCALE;
     }
   else
     {
-      v->print.type = FMT_A;
-      v->print.w = v->width;
-      v->print.d = 0;
-
+      v->print = make_output_format (FMT_A, v->width, 0);
       v->alignment = ALIGN_LEFT;
       v->display_width = 8;
       v->measure = MEASURE_NOMINAL;
@@ -395,7 +392,7 @@ dict_lookup_var (const struct dictionary *d, const char *name)
   assert (d != NULL);
   assert (name != NULL);
 
-  st_trim_copy (v.name, name, sizeof v.name);
+  str_copy_trunc (v.name, sizeof v.name, name);
   return hsh_find (d->name_tab, &v);
 }
 
@@ -450,7 +447,6 @@ dict_delete_var (struct dictionary *d, struct variable *v)
   assert (d != NULL);
   assert (v != NULL);
   assert (dict_contains_var (d, v));
-  assert (d->var[v->index] == v);
 
   /* Delete aux data. */
   var_clear_aux (v);
@@ -570,7 +566,7 @@ dict_rename_var (struct dictionary *d, struct variable *v,
           || dict_lookup_var (d, new_name) == NULL);
 
   hsh_force_delete (d->name_tab, v);
-  st_trim_copy (v->name, new_name, sizeof v->name);
+  str_copy_trunc (v->name, sizeof v->name, new_name);
   hsh_force_insert (d->name_tab, v);
 
   if (get_algorithm () == ENHANCED)
@@ -789,7 +785,7 @@ dict_compact_values (struct dictionary *d)
           i++;
         }
       else
-        dict_delete_var (default_dict, v);
+        dict_delete_var (d, v);
     }
 }
 
@@ -971,7 +967,7 @@ dict_create_vector (struct dictionary *d,
   d->vector = xrealloc (d->vector, (d->vector_cnt + 1) * sizeof *d->vector);
   vector = d->vector[d->vector_cnt] = xmalloc (sizeof *vector);
   vector->idx = d->vector_cnt++;
-  st_trim_copy (vector->name, name, sizeof vector->name);
+  str_copy_trunc (vector->name, sizeof vector->name, name);
   vector->var = xmalloc (cnt * sizeof *var);
   for (i = 0; i < cnt; i++)
     {