#include "var.h"
#include "vfm.h"
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+
/* FIXME: Implement PRINT subcommand. */
/* Explains how to recode one value. `from' must be first element. */
struct trns_header h;
struct pool *owner; /* Contains AUTORECODE specs. */
struct arc_spec *specs; /* AUTORECODE specifications. */
- int spec_cnt; /* Number of specifications. */
+ size_t spec_cnt; /* Number of specifications. */
};
/* Descending or ascending sort order. */
char **dst_names; /* Target variable names. */
struct variable **dst_vars; /* Target variables. */
struct hsh_table **src_values; /* `union value's of source vars. */
- int var_cnt; /* Number of variables. */
+ size_t var_cnt; /* Number of variables. */
struct pool *src_values_pool; /* Pool used by src_values. */
enum direction direction; /* Sort order. */
int print; /* Print mapping table if nonzero. */
cmd_autorecode (void)
{
struct autorecode_pgm arc;
- int dst_cnt;
- int i;
+ size_t dst_cnt;
+ size_t i;
arc.src_vars = NULL;
arc.dst_names = NULL;
goto lossage;
if (dst_cnt != arc.var_cnt)
{
- int i;
+ size_t i;
- msg (SE, _("Source variable count (%d) does not match "
- "target variable count (%d)."), arc.var_cnt, dst_cnt);
+ msg (SE, _("Source variable count (%u) does not match "
+ "target variable count (%u)."),
+ (unsigned) arc.var_cnt, (unsigned) dst_cnt);
for (i = 0; i < dst_cnt; i++)
free (arc.dst_names[i]);
}
arc.src_values_pool = pool_create ();
- arc.dst_vars = xmalloc (sizeof *arc.dst_vars * arc.var_cnt);
- arc.src_values = xmalloc (sizeof *arc.src_values * arc.var_cnt);
+ arc.dst_vars = xnmalloc (arc.var_cnt, sizeof *arc.dst_vars);
+ arc.src_values = xnmalloc (arc.var_cnt, sizeof *arc.src_values);
for (i = 0; i < dst_cnt; i++)
if (arc.src_vars[i]->type == ALPHA)
arc.src_values[i] = hsh_create (10, compare_alpha_value,
free (arc->src_vars);
if (arc->dst_names != NULL)
{
- int i;
+ size_t i;
for (i = 0; i < arc->var_cnt; i++)
free (arc->dst_names[i]);
free (arc->dst_vars);
if (arc->src_values != NULL)
{
- int i;
+ size_t i;
for (i = 0; i < arc->var_cnt; i++)
hsh_destroy (arc->src_values[i]);
{
struct autorecode_trns *t;
struct pool *pool;
- int i;
+ size_t i;
pool = pool_create ();
t = xmalloc (sizeof *t);
for (i = 0; i < arc->var_cnt; i++)
{
struct arc_spec *spec = &t->specs[i];
- void **p = hsh_sort (arc->src_values[i]);
+ void *const *p = hsh_sort (arc->src_values[i]);
int count = hsh_count (arc->src_values[i]);
int j;
int case_idx UNUSED)
{
struct autorecode_trns *t = (struct autorecode_trns *) trns;
- int i;
+ size_t i;
for (i = 0; i < t->spec_cnt; i++)
{
autorecode_trns_free (struct trns_header * trns)
{
struct autorecode_trns *t = (struct autorecode_trns *) trns;
- int i;
+ size_t i;
for (i = 0; i < t->spec_cnt; i++)
hsh_destroy (t->specs[i].items);
autorecode_proc_func (struct ccase *c, void *arc_)
{
struct autorecode_pgm *arc = arc_;
- int i;
+ size_t i;
for (i = 0; i < arc->var_cnt; i++)
{