[Gnucash-changes] r13944 - gnucash/trunk - Simply traversal impl.

Joshua Sled jsled at cvs.gnucash.org
Sun May 7 17:52:17 EDT 2006


Author: jsled
Date: 2006-05-07 17:52:15 -0400 (Sun, 07 May 2006)
New Revision: 13944
Trac: http://svn.gnucash.org/trac/changeset/13944

Modified:
   gnucash/trunk/ChangeLog
   gnucash/trunk/src/engine/Group.c
Log:
Simply traversal impl.


Modified: gnucash/trunk/ChangeLog
===================================================================
--- gnucash/trunk/ChangeLog	2006-05-07 21:39:56 UTC (rev 13943)
+++ gnucash/trunk/ChangeLog	2006-05-07 21:52:15 UTC (rev 13944)
@@ -1,5 +1,8 @@
 2006-05-07  Joshua Sled  <jsled at asynchronous.org>
 
+	* src/engine/Group.c (xaccAccountStagedTransactionTraversal):
+	Simplify.
+
 	* src/engine/test-core/test-engine-stuff.c (make_trans_query):
 	Don't construct queries involving empty strings, as the query
 	processor asserts that string match terms are not empty. Fixes

Modified: gnucash/trunk/src/engine/Group.c
===================================================================
--- gnucash/trunk/src/engine/Group.c	2006-05-07 21:39:56 UTC (rev 13943)
+++ gnucash/trunk/src/engine/Group.c	2006-05-07 21:52:15 UTC (rev 13944)
@@ -1092,35 +1092,24 @@
                                                        void *cb_data),
                                        void *cb_data)
 {
+  GList *lp;
   if (!acc) return 0;
 
-  if (callback)
+  for(lp = acc->splits; lp; lp = lp->next)
   {
-    GList *lp;
-    for(lp = acc->splits; lp; lp = lp->next)
+    Split *s = (Split *) lp->data;
+    Transaction *trans = s->parent;   
+    if (trans && (trans->marker < stage))
     {
-      Split *s = (Split *) lp->data;
-      Transaction *trans = s->parent;   
-      if (trans && (trans->marker < stage))
+      trans->marker = stage;
+      if (callback)
       {
         int retval;
-        trans->marker = stage;
         retval = callback(trans, cb_data);
         if (retval) return retval;
       }
     }
   }
-  else
-  {
-    GList *lp;
-    for(lp = acc->splits; lp; lp = lp->next)
-    {
-      Split *s = (Split *) lp->data;
-      Transaction *trans = s->parent;      
-      if (trans && (trans->marker < stage))
-        trans->marker = stage;
-    }
-  }
 
   return 0;
 }



More information about the gnucash-changes mailing list