gnucash maint: g_free gnc_ctime which returns a new gchar*

Christopher Lam clam at code.gnucash.org
Thu Aug 5 09:54:42 EDT 2021


Updated	 via  https://github.com/Gnucash/gnucash/commit/de1ad936 (commit)
	from  https://github.com/Gnucash/gnucash/commit/de0af2dc (commit)



commit de1ad9367a545894783f700d6277adfa1f45fdc5
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Thu Aug 5 21:39:49 2021 +0800

    g_free gnc_ctime which returns a new gchar*

diff --git a/bindings/engine.i b/bindings/engine.i
index e9130a248..2b567fcdb 100644
--- a/bindings/engine.i
+++ b/bindings/engine.i
@@ -191,6 +191,7 @@ const char *qof_session_get_url (QofSession *session);
 %ignore qof_print_date_time_buff;
 %ignore gnc_tm_free;
 %newobject qof_print_date;
+%newobject gnc_ctime;
 %newobject gnc_print_time64;
 %include <gnc-date.h>
 extern const char *gnc_default_strftime_date_format;
diff --git a/gnucash/gnome/assistant-acct-period.c b/gnucash/gnome/assistant-acct-period.c
index c5bba7268..714692ff5 100644
--- a/gnucash/gnome/assistant-acct-period.c
+++ b/gnucash/gnome/assistant-acct-period.c
@@ -263,7 +263,7 @@ ap_assistant_menu_prepare (GtkAssistant *assistant, gpointer user_data)
 {
     int nperiods;
     GDate period_begin, period_end, date_now;
-    char * str;
+    char *str, *earliest_str;
 
     AcctPeriodInfo *info = user_data;
 
@@ -302,8 +302,10 @@ ap_assistant_menu_prepare (GtkAssistant *assistant, gpointer user_data)
      * we may have closed books since last time. */
     info->earliest = get_earliest_in_book (gnc_get_current_book());
     info->earliest_str = qof_print_date(info->earliest);
+    earliest_str = gnc_ctime (&info->earliest);
     PINFO ("Date of earliest transaction is %" G_GINT64_FORMAT " %s",
-	   info->earliest, gnc_ctime (&info->earliest));
+	   info->earliest, earliest_str);
+    g_free (earliest_str);
 
     /* Display the results */
     str = g_strdup_printf (
@@ -536,6 +538,7 @@ ap_assistant_create (AcctPeriodInfo *info)
     GtkBuilder *builder;
     GtkWidget *window;
     GtkWidget *box;
+    gchar *earliest_str;
 
     builder = gtk_builder_new();
     gnc_builder_add_from_file  (builder , "assistant-acct-period.glade", "account_period_assistant");
@@ -566,8 +569,10 @@ ap_assistant_create (AcctPeriodInfo *info)
      * and use that to set up the freq spec widget. */
     info->earliest = get_earliest_in_book (gnc_get_current_book());
     info->earliest_str = qof_print_date(info->earliest);
+    earliest_str = gnc_ctime (&info->earliest);
     PINFO ("date of earliest transaction is %" G_GINT64_FORMAT " %s",
-           info->earliest, gnc_ctime (&info->earliest));
+           info->earliest, earliest_str);
+    g_free (earliest_str);
 
     g_date_clear (&info->closing_date, 1);
     gnc_gdate_set_time64 (&info->closing_date, info->earliest);
diff --git a/libgnucash/engine/ScrubBusiness.c b/libgnucash/engine/ScrubBusiness.c
index d775157ef..367becd9b 100644
--- a/libgnucash/engine/ScrubBusiness.c
+++ b/libgnucash/engine/ScrubBusiness.c
@@ -590,6 +590,7 @@ gncScrubBusinessSplit (Split *split)
             gchar *pdatestr = gnc_ctime (&pdate);
             PINFO ("Destroying empty split %p from transaction %s (%s)", split, pdatestr, xaccTransGetDescription(txn));
             xaccSplitDestroy (split);
+            g_free (pdatestr);
 
             // Also delete the lot containing this split if it was the last split in that lot
             if (lot && (gnc_lot_count_splits (lot) == 0))



Summary of changes:
 bindings/engine.i                     |  1 +
 gnucash/gnome/assistant-acct-period.c | 11 ++++++++---
 libgnucash/engine/ScrubBusiness.c     |  1 +
 3 files changed, 10 insertions(+), 3 deletions(-)



More information about the gnucash-changes mailing list