mirror of
https://github.com/MidnightCommander/mc
synced 2025-01-09 13:02:01 +03:00
(edit_load_macro_cmd): fix memory leaks.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
This commit is contained in:
parent
ef45037919
commit
3e8ca53fa2
@ -2061,26 +2061,23 @@ edit_load_macro_cmd (WEdit * edit)
|
|||||||
|
|
||||||
for (curr_values = values; *curr_values != NULL && *curr_values[0] != '\0'; curr_values++)
|
for (curr_values = values; *curr_values != NULL && *curr_values[0] != '\0'; curr_values++)
|
||||||
{
|
{
|
||||||
char **macro_pair = NULL;
|
char **macro_pair;
|
||||||
|
|
||||||
macro_pair = g_strsplit (*curr_values, ":", 2);
|
macro_pair = g_strsplit (*curr_values, ":", 2);
|
||||||
|
|
||||||
if (macro_pair != NULL)
|
if (macro_pair != NULL)
|
||||||
{
|
{
|
||||||
macro_action_t m_act;
|
macro_action_t m_act = {
|
||||||
if (macro_pair[0] == NULL || macro_pair[0][0] == '\0')
|
.action = 0,
|
||||||
m_act.action = 0;
|
.ch = -1
|
||||||
else
|
};
|
||||||
{
|
|
||||||
|
if (macro_pair[0] != NULL && macro_pair[0][0] != '\0')
|
||||||
m_act.action = keybind_lookup_action (macro_pair[0]);
|
m_act.action = keybind_lookup_action (macro_pair[0]);
|
||||||
MC_PTR_FREE (macro_pair[0]);
|
|
||||||
}
|
if (macro_pair[1] != NULL && macro_pair[1][0] != '\0')
|
||||||
if (macro_pair[1] == NULL || macro_pair[1][0] == '\0')
|
|
||||||
m_act.ch = -1;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_act.ch = strtol (macro_pair[1], NULL, 0);
|
m_act.ch = strtol (macro_pair[1], NULL, 0);
|
||||||
MC_PTR_FREE (macro_pair[1]);
|
|
||||||
}
|
|
||||||
if (m_act.action != 0)
|
if (m_act.action != 0)
|
||||||
{
|
{
|
||||||
/* a shell command */
|
/* a shell command */
|
||||||
@ -2092,8 +2089,8 @@ edit_load_macro_cmd (WEdit * edit)
|
|||||||
g_array_append_val (macros, m_act);
|
g_array_append_val (macros, m_act);
|
||||||
have_macro = TRUE;
|
have_macro = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_strfreev (macro_pair);
|
g_strfreev (macro_pair);
|
||||||
macro_pair = NULL;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2103,6 +2100,8 @@ edit_load_macro_cmd (WEdit * edit)
|
|||||||
macro.macro = macros;
|
macro.macro = macros;
|
||||||
g_array_append_val (macros_list, macro);
|
g_array_append_val (macros_list, macro);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
g_array_free (macros, TRUE);
|
||||||
|
|
||||||
g_strfreev (values);
|
g_strfreev (values);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user