From 76f3a20db3fd092560fac22c3e8c03958f7136b4 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Sun, 1 Jul 2007 03:17:05 +0000 Subject: [PATCH] Changed trns_chain_execute signature (Patch #6057) --- src/data/ChangeLog | 5 +++++ src/data/procedure.c | 8 ++++---- src/data/transformations.c | 10 ++++------ src/data/transformations.h | 4 ++-- src/language/data-io/inpt-pgm.c | 4 ++-- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/data/ChangeLog b/src/data/ChangeLog index 45564a95..9c56d597 100644 --- a/src/data/ChangeLog +++ b/src/data/ChangeLog @@ -1,3 +1,8 @@ +2007-07-01 John Darrington + + * transformation.c transformation.h (trns_chain_execute): Changed the + signature (Patch #6057) + 2007-06-10 Ben Pfaff * casereader-filter.c (casereader_filter_destroy): Make sure to diff --git a/src/data/procedure.c b/src/data/procedure.c index 14b2ccdf..84d53d34 100644 --- a/src/data/procedure.c +++ b/src/data/procedure.c @@ -92,7 +92,7 @@ struct dataset { but proc_commit not yet called. */ } proc_state; - size_t cases_written; /* Cases output so far. */ + casenumber cases_written; /* Cases output so far. */ bool ok; /* Error status. */ }; /* struct dataset */ @@ -213,7 +213,7 @@ proc_casereader_read (struct casereader *reader UNUSED, void *ds_, assert (ds->proc_state == PROC_OPEN); for (;;) { - size_t case_nr; + casenumber case_nr; assert (retval == TRNS_DROP_CASE || retval == TRNS_ERROR); if (retval == TRNS_ERROR) @@ -230,7 +230,7 @@ proc_casereader_read (struct casereader *reader UNUSED, void *ds_, /* Execute permanent transformations. */ case_nr = ds->cases_written + 1; retval = trns_chain_execute (ds->permanent_trns_chain, TRNS_CONTINUE, - c, &case_nr); + c, case_nr); caseinit_update_left_vars (ds->caseinit, c); if (retval != TRNS_CONTINUE) { @@ -265,7 +265,7 @@ proc_casereader_read (struct casereader *reader UNUSED, void *ds_, if (ds->temporary_trns_chain != NULL) { retval = trns_chain_execute (ds->temporary_trns_chain, TRNS_CONTINUE, - c, &ds->cases_written); + c, ds->cases_written); if (retval != TRNS_CONTINUE) { case_destroy (c); diff --git a/src/data/transformations.c b/src/data/transformations.c index 4d1e22e3..c8104914 100644 --- a/src/data/transformations.c +++ b/src/data/transformations.c @@ -181,15 +181,13 @@ trns_chain_next (struct trns_chain *chain) } /* Executes the given CHAIN of transformations on C, - passing *CASE_NR as the case number. - If a transformation modifies *CASE_NR, it will affect the case - number passed to following transformations. + passing CASE_NR as the case number. Returns the result code that caused the transformations to terminate, or TRNS_CONTINUE if the transformations finished due to "falling off the end" of the set of transformations. */ enum trns_result -trns_chain_execute (struct trns_chain *chain, enum trns_result start, - struct ccase *c, const size_t *case_nr) +trns_chain_execute (const struct trns_chain *chain, enum trns_result start, + struct ccase *c, casenumber case_nr) { size_t i; @@ -197,7 +195,7 @@ trns_chain_execute (struct trns_chain *chain, enum trns_result start, for (i = start < 0 ? 0 : start; i < chain->trns_cnt; ) { struct transformation *trns = &chain->trns[i]; - int retval = trns->execute (trns->aux, c, *case_nr); + int retval = trns->execute (trns->aux, c, case_nr); if (retval == TRNS_CONTINUE) i++; else if (retval >= 0) diff --git a/src/data/transformations.h b/src/data/transformations.h index ee82291c..da2cbf5d 100644 --- a/src/data/transformations.h +++ b/src/data/transformations.h @@ -49,8 +49,8 @@ bool trns_chain_is_empty (const struct trns_chain *); void trns_chain_append (struct trns_chain *, trns_finalize_func *, trns_proc_func *, trns_free_func *, void *); size_t trns_chain_next (struct trns_chain *); -enum trns_result trns_chain_execute (struct trns_chain *, enum trns_result, - struct ccase *, const size_t *case_nr); +enum trns_result trns_chain_execute (const struct trns_chain *, enum trns_result, + struct ccase *, casenumber case_nr); void trns_chain_splice (struct trns_chain *, struct trns_chain *); diff --git a/src/language/data-io/inpt-pgm.c b/src/language/data-io/inpt-pgm.c index 71a7b826..1c2625a2 100644 --- a/src/language/data-io/inpt-pgm.c +++ b/src/language/data-io/inpt-pgm.c @@ -68,7 +68,7 @@ struct input_program_pgm struct trns_chain *trns_chain; enum trns_result restart; - size_t case_nr; /* Incremented by END CASE transformation. */ + casenumber case_nr; /* Incremented by END CASE transformation. */ struct caseinit *init; size_t value_cnt; @@ -203,7 +203,7 @@ input_program_casereader_read (struct casereader *reader UNUSED, void *inp_, caseinit_init_vars (inp->init, c); inp->restart = trns_chain_execute (inp->trns_chain, inp->restart, - c, &inp->case_nr); + c, inp->case_nr); assert (is_valid_state (inp->restart)); caseinit_update_left_vars (inp->init, c); } -- 2.30.2