mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
[gnc-plugin-page-register.c] plug leaks
* g_free where appropriate * remove unnecessary g_strdup * don't use the string returned by g_strdelimit; it modifies the argument
This commit is contained in:
parent
b42d2c4380
commit
ce34d0a4be
@ -1414,6 +1414,7 @@ gnc_plugin_page_register_create_widget (GncPluginPage* plugin_page)
|
||||
|
||||
{
|
||||
gchar** filter;
|
||||
gchar* filter_str;
|
||||
guint filtersize = 0;
|
||||
/* Set the sort order for the split register and status of save order button */
|
||||
priv->sd.save_order = FALSE;
|
||||
@ -1440,9 +1441,10 @@ gnc_plugin_page_register_create_widget (GncPluginPage* plugin_page)
|
||||
/* Set the filter for the split register and status of save filter button */
|
||||
priv->fd.save_filter = FALSE;
|
||||
|
||||
filter = g_strsplit (gnc_plugin_page_register_get_filter (plugin_page), ",",
|
||||
-1);
|
||||
filter_str = gnc_plugin_page_register_get_filter (plugin_page);
|
||||
filter = g_strsplit (filter_str, ",", -1);
|
||||
filtersize = g_strv_length (filter);
|
||||
g_free (filter_str);
|
||||
|
||||
PINFO ("Loaded Filter Status is %s", filter[0]);
|
||||
|
||||
@ -1974,7 +1976,7 @@ gnc_plugin_page_register_finish_pending (GncPluginPage* page)
|
||||
GncPluginPageRegister* reg_page;
|
||||
SplitRegister* reg;
|
||||
GtkWidget* dialog, *window;
|
||||
const gchar* name;
|
||||
gchar* name;
|
||||
gint response;
|
||||
|
||||
if (is_scrubbing && show_abort_verify)
|
||||
@ -1999,6 +2001,7 @@ gnc_plugin_page_register_finish_pending (GncPluginPage* page)
|
||||
/* Translators: %s is the name
|
||||
of the tab page */
|
||||
_ ("Save changes to %s?"), name);
|
||||
g_free (name);
|
||||
gtk_message_dialog_format_secondary_text
|
||||
(GTK_MESSAGE_DIALOG (dialog),
|
||||
"%s",
|
||||
@ -2042,7 +2045,7 @@ gnc_plugin_page_register_get_tab_name (GncPluginPage* plugin_page)
|
||||
Account* leader;
|
||||
|
||||
g_return_val_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (plugin_page),
|
||||
_ ("unknown"));
|
||||
g_strdup (_("unknown")));
|
||||
|
||||
priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE (plugin_page);
|
||||
ld = priv->ledger;
|
||||
@ -2090,7 +2093,7 @@ gnc_plugin_page_register_get_tab_color (GncPluginPage* plugin_page)
|
||||
const char* color;
|
||||
|
||||
g_return_val_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (plugin_page),
|
||||
_ ("unknown"));
|
||||
g_strdup (_("unknown")));
|
||||
|
||||
priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE (plugin_page);
|
||||
ld = priv->ledger;
|
||||
@ -2116,7 +2119,7 @@ gnc_plugin_page_register_check_for_empty_group (GKeyFile *state_file, const gcha
|
||||
g_strfreev (keys);
|
||||
}
|
||||
|
||||
static const gchar*
|
||||
static gchar*
|
||||
gnc_plugin_page_register_get_filter_gcm (Account* leader)
|
||||
{
|
||||
GKeyFile* state_file = gnc_state_get_current();
|
||||
@ -2124,7 +2127,7 @@ gnc_plugin_page_register_get_filter_gcm (Account* leader)
|
||||
gchar* filter_text;
|
||||
gchar acct_guid[GUID_ENCODING_LENGTH + 1];
|
||||
GError* error = NULL;
|
||||
const char* filter = NULL;
|
||||
char* filter = NULL;
|
||||
|
||||
// get the filter from the .gcm file
|
||||
guid_to_string_buff (xaccAccountGetGUID (leader), acct_guid);
|
||||
@ -2135,11 +2138,8 @@ gnc_plugin_page_register_get_filter_gcm (Account* leader)
|
||||
if (error)
|
||||
g_clear_error (&error);
|
||||
else
|
||||
{
|
||||
filter_text = g_strdelimit (filter_text, ";", ',');
|
||||
filter = g_strdup (filter_text);
|
||||
g_free (filter_text);
|
||||
}
|
||||
g_strdelimit (filter_text, ";", ',');
|
||||
|
||||
g_free (state_section);
|
||||
return filter;
|
||||
}
|
||||
@ -2150,10 +2150,10 @@ gnc_plugin_page_register_get_filter (GncPluginPage* plugin_page)
|
||||
GncPluginPageRegisterPrivate* priv;
|
||||
GNCLedgerDisplayType ledger_type;
|
||||
Account* leader;
|
||||
const char* filter = NULL;
|
||||
char* filter = NULL;
|
||||
|
||||
g_return_val_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (plugin_page),
|
||||
_ ("unknown"));
|
||||
g_strdup (_("unknown")));
|
||||
|
||||
priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE (plugin_page);
|
||||
|
||||
@ -2163,9 +2163,11 @@ gnc_plugin_page_register_get_filter (GncPluginPage* plugin_page)
|
||||
// load from gcm file
|
||||
filter = gnc_plugin_page_register_get_filter_gcm (leader);
|
||||
|
||||
return filter ? g_strdup (filter) : g_strdup_printf ("%s,%s,%s,%s",
|
||||
DEFAULT_FILTER,
|
||||
"0", "0", get_filter_default_num_of_days (ledger_type));
|
||||
if (filter)
|
||||
return filter;
|
||||
|
||||
return g_strdup_printf ("%s,%s,%s,%s", DEFAULT_FILTER,
|
||||
"0", "0", get_filter_default_num_of_days (ledger_type));
|
||||
}
|
||||
|
||||
static void
|
||||
@ -2190,8 +2192,7 @@ gnc_plugin_page_register_set_filter_gcm (Account* leader, const gchar* filter,
|
||||
else
|
||||
{
|
||||
filter_text = g_strdup (filter);
|
||||
filter_text = g_strdelimit (filter_text, ",",
|
||||
';'); // make it conform to .gcm file list
|
||||
g_strdelimit (filter_text, ",", ';'); // make it conform to .gcm file list
|
||||
g_key_file_set_string (state_file, state_section, KEY_PAGE_FILTER,
|
||||
filter_text);
|
||||
g_free (filter_text);
|
||||
@ -2223,7 +2224,7 @@ gnc_plugin_page_register_set_filter (GncPluginPage* plugin_page,
|
||||
return;
|
||||
}
|
||||
|
||||
static const gchar*
|
||||
static gchar*
|
||||
gnc_plugin_page_register_get_sort_order_gcm (Account* leader)
|
||||
{
|
||||
GKeyFile* state_file = gnc_state_get_current();
|
||||
@ -2231,7 +2232,7 @@ gnc_plugin_page_register_get_sort_order_gcm (Account* leader)
|
||||
gchar* sort_text;
|
||||
gchar acct_guid[GUID_ENCODING_LENGTH + 1];
|
||||
GError* error = NULL;
|
||||
const char* sort_order = NULL;
|
||||
char* sort_order = NULL;
|
||||
|
||||
// get the sort_order from the .gcm file
|
||||
guid_to_string_buff (xaccAccountGetGUID (leader), acct_guid);
|
||||
@ -2255,7 +2256,7 @@ gnc_plugin_page_register_get_sort_order (GncPluginPage* plugin_page)
|
||||
{
|
||||
GncPluginPageRegisterPrivate* priv;
|
||||
Account* leader;
|
||||
const char* sort_order = NULL;
|
||||
char* sort_order = NULL;
|
||||
|
||||
g_return_val_if_fail (GNC_IS_PLUGIN_PAGE_REGISTER (plugin_page),
|
||||
_ ("unknown"));
|
||||
@ -2267,7 +2268,8 @@ gnc_plugin_page_register_get_sort_order (GncPluginPage* plugin_page)
|
||||
// load from gcm file
|
||||
sort_order = gnc_plugin_page_register_get_sort_order_gcm (leader);
|
||||
|
||||
return g_strdup (sort_order ? sort_order : DEFAULT_SORT_ORDER);
|
||||
|
||||
return sort_order ? sort_order : g_strdup (DEFAULT_SORT_ORDER);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user