gnucash maint: Multiple changes pushed

Christopher Lam clam at code.gnucash.org
Sat Aug 6 02:40:34 EDT 2022


Updated	 via  https://github.com/Gnucash/gnucash/commit/bfa0fd18 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f0ac8d69 (commit)
	from  https://github.com/Gnucash/gnucash/commit/e7e3ed8c (commit)



commit bfa0fd1819d88ba7300271ce2786a35a9a26dfa2
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Aug 6 14:08:22 2022 +0800

    Bug 798588 - sx scrubbing was using incorrect free function
    
    the GHashTable values are gnc_numeric*.

diff --git a/libgnucash/app-utils/gnc-sx-instance-model.c b/libgnucash/app-utils/gnc-sx-instance-model.c
index b3a8e782d..c3a433857 100644
--- a/libgnucash/app-utils/gnc-sx-instance-model.c
+++ b/libgnucash/app-utils/gnc-sx-instance-model.c
@@ -102,7 +102,7 @@ scrub_sx_split_numeric (Split* split, gboolean is_credit, GList **changes)
     char *formval;
     gnc_numeric *numval = NULL;
     GHashTable *parser_vars = g_hash_table_new_full
-        (g_str_hash, g_str_equal, g_free, (GDestroyNotify)gnc_sx_variable_free);
+        (g_str_hash, g_str_equal, g_free, (GDestroyNotify)g_free);
     char *error_loc;
     gnc_numeric amount = gnc_numeric_zero ();
     gboolean parse_result = FALSE;

commit f0ac8d69b2f352b88c0133387cc58af24a816195
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Aug 6 14:09:26 2022 +0800

    [gnc-sx-instance-model.c] indent attributes properly

diff --git a/libgnucash/app-utils/gnc-sx-instance-model.c b/libgnucash/app-utils/gnc-sx-instance-model.c
index dcb51f8cb..b3a8e782d 100644
--- a/libgnucash/app-utils/gnc-sx-instance-model.c
+++ b/libgnucash/app-utils/gnc-sx-instance-model.c
@@ -107,8 +107,10 @@ scrub_sx_split_numeric (Split* split, gboolean is_credit, GList **changes)
     gnc_numeric amount = gnc_numeric_zero ();
     gboolean parse_result = FALSE;
 
-    qof_instance_get (QOF_INSTANCE (split), formula, &formval,
-                      numeric, &numval, NULL);
+    qof_instance_get (QOF_INSTANCE (split),
+                      formula, &formval,
+                      numeric, &numval,
+                      NULL);
 
     parse_result = gnc_exp_parser_parse_separate_vars (formval, &amount,
                                                        &error_loc, parser_vars);
@@ -116,8 +118,6 @@ scrub_sx_split_numeric (Split* split, gboolean is_credit, GList **changes)
     if (!parse_result || g_hash_table_size (parser_vars) != 0)
         amount = gnc_numeric_zero ();
 
-    g_hash_table_unref (parser_vars);
-
     if (!numval || !gnc_numeric_eq (amount, *numval))
     {
         ScrubItem *change = g_new (ScrubItem, 1);
@@ -126,6 +126,7 @@ scrub_sx_split_numeric (Split* split, gboolean is_credit, GList **changes)
         *changes = g_list_prepend (*changes, change);
     }
 
+    g_hash_table_destroy (parser_vars);
     g_free (formval);
     g_free (numval);
 }
@@ -148,7 +149,9 @@ gnc_sx_scrub_split_numerics (gpointer psplit, gpointer puser)
     for (GList *n = changes; n; n = n->next)
     {
         ScrubItem *change = n->data;
-        qof_instance_set (QOF_INSTANCE (split), change->name, &change->amount, NULL);
+        qof_instance_set (QOF_INSTANCE (split),
+                          change->name, &change->amount,
+                          NULL);
     }
     xaccTransCommitEdit (trans);
     g_list_free_full (changes, g_free);



Summary of changes:
 libgnucash/app-utils/gnc-sx-instance-model.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)



More information about the gnucash-changes mailing list