X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fcasereader-translator.c;h=996dc24f5a55a6bcdf94a526bca2744c42d6fe23;hb=c4b05a4eee788ba23c784e8c077995940eee96a7;hp=a6508502b7348115b9ded5b8ee7fc66c7c116f95;hpb=2c4b104df57f2e8b5ed2afa50819294aaac4aa6c;p=pspp diff --git a/src/data/casereader-translator.c b/src/data/casereader-translator.c index a6508502b7..996dc24f5a 100644 --- a/src/data/casereader-translator.c +++ b/src/data/casereader-translator.c @@ -75,7 +75,7 @@ casereader_create_translator (struct casereader *subreader, ct->destroy = destroy; ct->aux = aux; reader = casereader_create_sequential ( - NULL, output_proto, casereader_get_case_cnt (ct->subreader), + NULL, output_proto, casereader_get_n_cases (ct->subreader), &casereader_translator_class, ct); taint_propagate (casereader_get_taint (ct->subreader), casereader_get_taint (reader)); @@ -170,7 +170,7 @@ casereader_translate_stateless ( cst->destroy = destroy; cst->aux = aux; reader = casereader_create_random ( - output_proto, casereader_get_case_cnt (cst->subreader), + output_proto, casereader_get_n_cases (cst->subreader), &casereader_stateless_translator_class, cst); taint_propagate (casereader_get_taint (cst->subreader), casereader_get_taint (reader)); @@ -202,10 +202,10 @@ casereader_stateless_translator_destroy (struct casereader *reader UNUSED, static void casereader_stateless_translator_advance (struct casereader *reader UNUSED, - void *cst_, casenumber cnt) + void *cst_, casenumber n) { struct casereader_stateless_translator *cst = cst_; - cst->case_offset += casereader_advance (cst->subreader, cnt); + cst->case_offset += casereader_advance (cst->subreader, n); } /* Casereader class for stateless translating casereader. */ @@ -309,7 +309,7 @@ struct casereader * casereader_create_arithmetic_sequence (struct casereader *subreader, double first, double increment) { - struct arithmetic_sequence *as = xzalloc (sizeof *as); + struct arithmetic_sequence *as = XZALLOC (struct arithmetic_sequence); as->first = first; as->increment = increment; return casereader_create_append_numeric (subreader, next_arithmetic, @@ -502,6 +502,11 @@ uniquify (const struct ccase *c, void *aux) dir = value_compare_3way (case_data (next_case, cdr->key), current_value, key_width); + if (dir > 0) + dir = 1; + if (dir < 0) + dir = -1; + case_unref (next_case); if (dir != 0) {