X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fautorecode.c;h=259d0956e31f9eff2e8c2fe27b35da8afbb262fd;hb=4a73877b4d56caed03d383fb4d38347a9774046f;hp=a28b13bdcac0e8c3cd2a6257f4019de448324a6f;hpb=b321086267ad1014dc5d09886396cde30f094437;p=pspp-builds.git diff --git a/src/autorecode.c b/src/autorecode.c index a28b13bd..259d0956 100644 --- a/src/autorecode.c +++ b/src/autorecode.c @@ -14,8 +14,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ #include #include "error.h" @@ -32,6 +32,9 @@ #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. */ @@ -55,7 +58,7 @@ struct autorecode_trns 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. */ @@ -72,7 +75,7 @@ struct autorecode_pgm 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. */ @@ -92,8 +95,8 @@ int 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; @@ -117,10 +120,11 @@ cmd_autorecode (void) 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]); @@ -151,7 +155,7 @@ cmd_autorecode (void) goto lossage; } for (j = 0; j < i; j++) - if (!strcmp (arc.dst_names[i], arc.dst_names[j])) + if (!strcasecmp (arc.dst_names[i], arc.dst_names[j])) { msg (SE, _("Duplicate variable name %s among target variables."), arc.dst_names[i]); @@ -160,8 +164,8 @@ cmd_autorecode (void) } 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, @@ -194,7 +198,7 @@ arc_free (struct autorecode_pgm *arc) 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]); @@ -203,7 +207,7 @@ arc_free (struct autorecode_pgm *arc) 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]); @@ -220,7 +224,7 @@ recode (const struct autorecode_pgm *arc) { struct autorecode_trns *t; struct pool *pool; - int i; + size_t i; pool = pool_create (); t = xmalloc (sizeof *t); @@ -232,7 +236,7 @@ recode (const struct autorecode_pgm *arc) 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; @@ -267,7 +271,7 @@ autorecode_trns_proc (struct trns_header * trns, struct ccase * c, 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++) { @@ -290,7 +294,7 @@ static void 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); @@ -339,7 +343,7 @@ static int 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++) {