Changed trns_chain_execute signature (Patch #6057)
authorJohn Darrington <john@darrington.wattle.id.au>
Sun, 1 Jul 2007 03:17:05 +0000 (03:17 +0000)
committerJohn Darrington <john@darrington.wattle.id.au>
Sun, 1 Jul 2007 03:17:05 +0000 (03:17 +0000)
src/data/ChangeLog
src/data/procedure.c
src/data/transformations.c
src/data/transformations.h
src/language/data-io/inpt-pgm.c

index 45564a95debc89a67597c56b5f5bbc52c6e67b62..9c56d59747b36f5f771cbaeee765bc05b564222c 100644 (file)
@@ -1,3 +1,8 @@
+2007-07-01 John Darrington <john@darrington.wattle.id.au>
+
+       * transformation.c transformation.h (trns_chain_execute): Changed the 
+       signature (Patch #6057)
+
 2007-06-10  Ben Pfaff  <blp@gnu.org>
 
        * casereader-filter.c (casereader_filter_destroy): Make sure to
index 14b2ccdfe6e948adae6acb177ab30f7f3f2c6689..84d53d349a054f35f737c029e3fa6e9410daca5a 100644 (file)
@@ -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);
index 4d1e22e3b7a0230a3f556dd5e09f3d5b78ef1c96..c810491490e67a52f8762a241157d5ab674f1243 100644 (file)
@@ -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)
index ee82291c992a6f6e8ba8e57a8eda3b0beb729550..da2cbf5d4a93a860311d6632d6d1648aaa5e2d44 100644 (file)
@@ -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 *);
 
index 71a7b82665cbadb42e11416e07851b1f102441ee..1c2625a24383d193dca4d2f000d273b0e06232b1 100644 (file)
@@ -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);
     }