gnucash maint: Multiple changes pushed

Christopher Lam clam at code.gnucash.org
Fri Aug 20 05:08:08 EDT 2021


Updated	 via  https://github.com/Gnucash/gnucash/commit/ff2ceb11 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9fc1ac6b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/9bc44c62 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c4a0fb46 (commit)
	from  https://github.com/Gnucash/gnucash/commit/15b8545e (commit)



commit ff2ceb111d08dd723fac430479b8aca0437cfa1b
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Aug 20 09:27:16 2021 +0800

    [gnc-commodity] GValue must be unset

diff --git a/libgnucash/engine/gnc-commodity.c b/libgnucash/engine/gnc-commodity.c
index 2d6998def..56763e7a0 100644
--- a/libgnucash/engine/gnc-commodity.c
+++ b/libgnucash/engine/gnc-commodity.c
@@ -1183,11 +1183,13 @@ const char*
 gnc_commodity_get_user_symbol(const gnc_commodity *cm)
 {
     GValue v = G_VALUE_INIT;
+    static char* retval = NULL;
     if (!cm) return NULL;
     qof_instance_get_kvp (QOF_INSTANCE(cm), &v, 1, "user_symbol");
-    if (G_VALUE_HOLDS_STRING (&v))
-        return g_value_get_string (&v);
-    return NULL;
+    g_free (retval);
+    retval = G_VALUE_HOLDS_STRING (&v) ? g_value_dup_string (&v): NULL;
+    g_value_unset (&v);
+    return retval;
 }
 
 /********************************************************************

commit 9fc1ac6be17d67e3006ac2cdbb1bd34feceb93e9
Merge: 9bc44c62e c4a0fb468
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Aug 20 17:02:19 2021 +0800

    Merge branch 'maint-guile-changes' into maint #1111


commit 9bc44c62e6d17b5a7e2c804e0503d2ea4fa7aec4
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Fri Aug 20 17:01:20 2021 +0800

    [engine.i] free GSList* key_path arg to qof_book_get_option
    
    Addendum to 6c8af6aab need to specify exact typemap target.

diff --git a/bindings/engine.i b/bindings/engine.i
index ce114f0d2..23f89c96b 100644
--- a/bindings/engine.i
+++ b/bindings/engine.i
@@ -275,7 +275,7 @@ Account * gnc_book_get_template_root(QofBook *book);
 %typemap(in) KvpValue * " $1 = gnc_scm_to_kvp_value_ptr($input); "
 %typemap(out) KvpValue * " $result = gnc_kvp_value_ptr_to_scm($1); "
 %typemap(in) GSList *key_path " $1 = gnc_scm_to_gslist_string($input);"
-%typemap(freearg) GSList * "g_slist_free_full ($1, g_free);"
+%typemap(freearg) GSList *key_path "g_slist_free_full ($1, g_free);"
 
 QofBook* qof_book_new (void);
 void qof_book_options_delete (QofBook *book, GSList *key_path);

commit c4a0fb468b2a74b4e9f7a5a614fd607e0aae9cac
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Thu Aug 19 19:33:17 2021 +0800

    [srfi64-extras.scm] exit instead of return #t if no failures
    
    due to change in guile-3.0.7 to fix srfi64 bug

diff --git a/bindings/guile/test/srfi64-extras.scm b/bindings/guile/test/srfi64-extras.scm
index b41baee43..e572e988a 100644
--- a/bindings/guile/test/srfi64-extras.scm
+++ b/bindings/guile/test/srfi64-extras.scm
@@ -45,5 +45,5 @@
       (lambda (runner)
         (format #t "Source:~a\npass = ~a, fail = ~a\n"
                 (test-result-ref runner 'source-file) num-passed num-failed)
-        (zero? num-failed)))
+        (exit (zero? num-failed))))
     runner))



Summary of changes:
 bindings/engine.i                     | 2 +-
 bindings/guile/test/srfi64-extras.scm | 2 +-
 libgnucash/engine/gnc-commodity.c     | 8 +++++---
 3 files changed, 7 insertions(+), 5 deletions(-)



More information about the gnucash-changes mailing list