Adopt use of gnulib for portability.
[pspp-builds.git] / src / recode.c
index 98e6dfdd2d0ecf1cddf842db228129439363b95f..b25ac4567ea621609825abf39f1752ccd7adc6a3 100644 (file)
@@ -31,6 +31,9 @@
 #include "magic.h"
 #include "str.h"
 #include "var.h"
+
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
 \f
 /* Definitions. */
 
@@ -378,7 +381,7 @@ cmd_recode (void)
                    /* The NULL is only really necessary for the
                       debugging code. */
                    char *repl = xmalloc (max_dst_width + 1);
-                   st_pad_copy (repl, cp->t.c, max_dst_width + 1);
+                   str_copy_rpad (repl, max_dst_width + 1, cp->t.c);
                    free (cp->t.c);
                    cp->t.c = repl;
                  }
@@ -412,7 +415,7 @@ cmd_recode (void)
        rcd->dest = dict_create_var (default_dict, rcd->dest_name, 0);
        if (!rcd->dest)
          {
-           /* FIXME: This can occur if a destname is duplicated.
+           /* FIXME: This can fail if a destname is duplicated.
               We could give an error at parse time but I don't
               care enough. */
            rcd->dest = dict_lookup_var_assert (default_dict, rcd->dest_name);
@@ -463,7 +466,7 @@ parse_dest_spec (struct rcd_var * rcd, union value * v, size_t *max_dst_width)
       if (toklen > max)
        max = toklen;
       v->c = xmalloc (max + 1);
-      st_pad_copy (v->c, ds_c_str (&tokstr), max + 1);
+      str_copy_rpad (v->c, max + 1, ds_c_str (&tokstr));
       flags = RCD_DEST_STRING;
       *max_dst_width = max;
       lex_get ();
@@ -626,7 +629,7 @@ parse_src_spec (struct rcd_var * rcd, int type, size_t max_src_width)
              if (!lex_force_string ())
                return 0;
              c->f1.c = xmalloc (max_src_width + 1);
-             st_pad_copy (c->f1.c, ds_c_str (&tokstr), max_src_width + 1);
+             str_copy_rpad (c->f1.c, max_src_width + 1, ds_c_str (&tokstr));
              lex_get ();
            }
        }
@@ -811,9 +814,9 @@ recode_trns_proc (struct trns_header * t, struct ccase * c,
          if (val == NULL) 
             {
               if (v->dest->fv != v->src->fv)
-                st_bare_pad_len_copy (case_data_rw (c, v->dest->fv)->s,
-                                      case_str (c, v->src->fv),
-                                      v->dest->width, v->src->width); 
+                buf_copy_rpad (case_data_rw (c, v->dest->fv)->s,
+                               v->dest->width,
+                               case_str (c, v->src->fv), v->src->width); 
             }
          else
            memcpy (case_data_rw (c, v->dest->fv)->s, cp->t.c, v->dest->width);