gnucash maint: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Thu May 19 14:01:19 EDT 2016


Updated	 via  https://github.com/Gnucash/gnucash/commit/806525f6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b20e05d0 (commit)
	from  https://github.com/Gnucash/gnucash/commit/c1ad6154 (commit)



commit 806525f6ce334e1e2f2c6a2a57a014f8241a3fac
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu May 19 10:08:21 2016 -0700

    Fix bad library name from c1ad6154.

diff --git a/src/backend/dbi/test/CMakeLists.txt b/src/backend/dbi/test/CMakeLists.txt
index 38fae00..0b64b14 100644
--- a/src/backend/dbi/test/CMakeLists.txt
+++ b/src/backend/dbi/test/CMakeLists.txt
@@ -11,7 +11,7 @@ SET(BACKEND_DBI_TEST_INCLUDE_DIRS
   ${LIBDBI_INCLUDE_PATH}
   ${GLIB2_INCLUDE_DIRS}
 )
-SET(BACKEND_DBI_TEST_LIBS gnc-backend-sql gnc-backend-dbi gncmod-engine gncmod-test-engine gnc-qof test-core ${LIBDBI_LIBRARY})
+SET(BACKEND_DBI_TEST_LIBS gnc-backend-sql gncmod-backend-dbi gncmod-engine gncmod-test-engine gnc-qof test-core ${LIBDBI_LIBRARY})
 
 SET(test_dbi_backend_SOURCES
   test-backend-dbi.c

commit b20e05d078d193157f657fc414367d886c0535f5
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri May 13 16:39:26 2016 -0700

    Bug 764871 - Crash starting gnu cash
    
    GString doesn't like being g_freed, so use gchar and g_strdup_printf
    instead. Change all of the GStrings in the file just to be consistent.

diff --git a/src/app-utils/gnc-sx-instance-model.c b/src/app-utils/gnc-sx-instance-model.c
index 930244e..f1e3f6f 100644
--- a/src/app-utils/gnc-sx-instance-model.c
+++ b/src/app-utils/gnc-sx-instance-model.c
@@ -249,18 +249,16 @@ _get_vars_helper(Transaction *txn, void *var_hash_data)
             ! gnc_commodity_equal(split_cmdty, first_cmdty))
         {
             GncSxVariable *var;
-            GString *var_name;
+            gchar *var_name;
             const gchar *split_mnemonic, *first_mnemonic;
 
-            var_name = g_string_sized_new(16);
             split_mnemonic = gnc_commodity_get_mnemonic(split_cmdty);
             first_mnemonic = gnc_commodity_get_mnemonic(first_cmdty);
-            g_string_printf(var_name, "%s -> %s",
+            var_name = g_strdup_printf ("%s -> %s",
                             split_mnemonic ? split_mnemonic : "(null)",
                             first_mnemonic ? first_mnemonic : "(null)");
-            var = gnc_sx_variable_new(g_strdup(var_name->str));
+            var = gnc_sx_variable_new(var_name);
             g_hash_table_insert(var_hash, g_strdup(var->name), var);
-            g_string_free(var_name, TRUE);
         }
 
     }
@@ -956,16 +954,15 @@ _get_template_split_account(const SchedXaction* sx, const Split *template_split,
     if (*split_acct == NULL)
     {
         char guid_str[GUID_ENCODING_LENGTH+1];
-        GString *err;
+        gchar* err;
         guid_to_string_buff((const GncGUID*)acct_guid, guid_str);
-        err = g_string_new("");
-        g_string_printf(err, "Unknown account for guid [%s], cancelling SX [%s] creation.",
+        err = g_strdup_printf ("Unknown account for guid [%s], cancelling SX [%s] creation.",
                         guid_str, xaccSchedXactionGetName(sx));
-        g_critical("%s", err->str);
+        g_critical("%s", err);
         if (creation_errors != NULL)
             *creation_errors = g_list_append(*creation_errors, err);
         else
-            g_string_free(err, TRUE);
+            g_free(err);
         return FALSE;
     }
 
@@ -1016,18 +1013,17 @@ _get_sx_formula_value(const SchedXaction* sx, const Split *template_split, gnc_n
                                                 &parseErrorLoc,
                                                 parser_vars))
         {
-            GString *err = g_string_new("");
-            g_string_printf(err, "Error parsing SX [%s] key [%s]=formula [%s] at [%s]: %s",
+            gchar *err = g_strdup_printf ("Error parsing SX [%s] key [%s]=formula [%s] at [%s]: %s",
                             xaccSchedXactionGetName(sx),
                             formula_key,
                             formula_str,
                             parseErrorLoc,
                             gnc_exp_parser_error_string());
-            g_critical("%s", err->str);
+            g_critical ("%s", err);
             if (creation_errors != NULL)
                 *creation_errors = g_list_append(*creation_errors, err);
             else
-                g_string_free(err, TRUE);
+                g_free (err);
         }
 
         if (parser_vars != NULL)
@@ -1075,15 +1071,14 @@ split_apply_formulas (const Split *split, SxTxnCreationData* creation_data)
     gncn_error = gnc_numeric_check(final);
     if (gncn_error != GNC_ERROR_OK)
     {
-        GString *err = g_string_new("");
-        g_string_printf(err, "error %d in SX [%s] final gnc_numeric value, using 0 instead",
+        gchar *err = g_strdup_printf ("error %d in SX [%s] final gnc_numeric value, using 0 instead",
                         gncn_error, xaccSchedXactionGetName(sx));
-        g_critical("%s", err->str);
+        g_critical("%s", err);
         if (creation_data->creation_errors != NULL)
             *creation_data->creation_errors =
                 g_list_append(*creation_data->creation_errors, err);
         else
-            g_string_free(err, TRUE);
+            g_free (err);
         final = gnc_numeric_zero();
     }
     return final;
@@ -1094,12 +1089,12 @@ split_apply_exchange_rate (Split *split, GHashTable *bindings,
                            gnc_commodity *first_cmdty,
                            gnc_commodity *split_cmdty, gnc_numeric *final)
 {
-    GString *exchange_rate_var_name = g_string_sized_new(16);
+    gchar *exchange_rate_var_name;
     GncSxVariable *exchange_rate_var;
     gnc_numeric amt;
     gnc_numeric exchange_rate = gnc_numeric_create (1, 1);
 
-    g_string_printf(exchange_rate_var_name, "%s -> %s",
+    exchange_rate_var_name = g_strdup_printf ("%s -> %s",
                     gnc_commodity_get_mnemonic(first_cmdty),
                     gnc_commodity_get_mnemonic(split_cmdty));
 
@@ -1108,14 +1103,14 @@ split_apply_exchange_rate (Split *split, GHashTable *bindings,
 
     exchange_rate_var =
         (GncSxVariable*)g_hash_table_lookup(bindings,
-                                            exchange_rate_var_name->str);
+                                            exchange_rate_var_name);
 
     if (exchange_rate_var != NULL)
     {
         exchange_rate = exchange_rate_var->value;
         g_debug("exchange_rate is %s", gnc_numeric_to_string (exchange_rate));
     }
-    g_string_free(exchange_rate_var_name, TRUE);
+    g_free (exchange_rate_var_name);
 
     if (!gnc_commodity_is_currency (split_cmdty))
         amt = gnc_numeric_div(*final, exchange_rate,
@@ -1707,30 +1702,28 @@ create_cashflow_helper(Transaction *template_txn, void *user_data)
             gncn_error = gnc_numeric_check(final);
             if (gncn_error != GNC_ERROR_OK)
             {
-                GString *err = g_string_new("");
-                g_string_printf(err, "error %d in SX [%s] final gnc_numeric value, using 0 instead",
+                gchar* err = g_strdup_printf ("error %d in SX [%s] final gnc_numeric value, using 0 instead",
                                 gncn_error, xaccSchedXactionGetName(creation_data->sx));
-                g_critical("%s", err->str);
+                g_critical("%s", err);
                 if (creation_data->creation_errors != NULL)
                     *creation_data->creation_errors = g_list_append(*creation_data->creation_errors, err);
                 else
-                    g_string_free(err, TRUE);
+                    g_free (err);
                 final = gnc_numeric_zero();
             }
 
             /* Print error message if we would have needed an exchange rate */
             if (! gnc_commodity_equal(split_cmdty, first_cmdty))
             {
-                GString *err = g_string_new("");
-                g_string_printf(err, "No exchange rate available in SX [%s] for %s -> %s, value is zero",
+                gchar* err = g_strdup_printf ("No exchange rate available in SX [%s] for %s -> %s, value is zero",
                                 xaccSchedXactionGetName(creation_data->sx),
                                 gnc_commodity_get_mnemonic(split_cmdty),
                                 gnc_commodity_get_mnemonic(first_cmdty));
-                g_critical("%s", err->str);
+                g_critical("%s", err);
                 if (creation_data->creation_errors != NULL)
                     *creation_data->creation_errors = g_list_append(*creation_data->creation_errors, err);
                 else
-                    g_string_free(err, TRUE);
+                    g_free(err);
                 final = gnc_numeric_zero();
             }
 



Summary of changes:
 src/app-utils/gnc-sx-instance-model.c | 53 +++++++++++++++--------------------
 src/backend/dbi/test/CMakeLists.txt   |  2 +-
 2 files changed, 24 insertions(+), 31 deletions(-)



More information about the gnucash-changes mailing list