Code optimization: memory allocation and free moved outside of loop.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Этот коммит содержится в:
родитель
b4571ad1c5
Коммит
0e5b78b98b
@ -2466,6 +2466,7 @@ edit_replace_cmd (WEdit * edit, int again)
|
||||
static char *saved2 = NULL;
|
||||
char *input1 = NULL; /* user input from the dialog */
|
||||
char *input2 = NULL;
|
||||
GString *input2_str = NULL;
|
||||
char *disp1 = NULL;
|
||||
char *disp2 = NULL;
|
||||
long times_replaced = 0;
|
||||
@ -2491,6 +2492,7 @@ edit_replace_cmd (WEdit * edit, int again)
|
||||
else
|
||||
{
|
||||
char *tmp_inp1, *tmp_inp2;
|
||||
|
||||
disp1 = edit_replace_cmd__conv_to_display (saved1 ? saved1 : (char *) "");
|
||||
disp2 = edit_replace_cmd__conv_to_display (saved2 ? saved2 : (char *) "");
|
||||
|
||||
@ -2519,9 +2521,10 @@ edit_replace_cmd (WEdit * edit, int again)
|
||||
|
||||
mc_search_free (edit->search);
|
||||
edit->search = NULL;
|
||||
|
||||
}
|
||||
|
||||
input2_str = g_string_new (input2);
|
||||
|
||||
if (!edit->search)
|
||||
{
|
||||
edit->search = mc_search_new (input1, -1);
|
||||
@ -2568,7 +2571,7 @@ edit_replace_cmd (WEdit * edit, int again)
|
||||
if ((edit->search_start >= 0) && (edit->search_start < edit->last_byte))
|
||||
{
|
||||
gsize i;
|
||||
GString *tmp_str, *repl_str;
|
||||
GString *repl_str;
|
||||
|
||||
edit->found_start = edit->search_start;
|
||||
i = edit->found_len = len;
|
||||
@ -2617,10 +2620,7 @@ edit_replace_cmd (WEdit * edit, int again)
|
||||
}
|
||||
}
|
||||
|
||||
/* don't process string each time */
|
||||
tmp_str = g_string_new (input2);
|
||||
repl_str = mc_search_prepare_replace_str (edit->search, tmp_str);
|
||||
g_string_free (tmp_str, TRUE);
|
||||
repl_str = mc_search_prepare_replace_str (edit->search, input2_str);
|
||||
|
||||
if (edit->search->error != MC_SEARCH_E_OK)
|
||||
{
|
||||
@ -2681,6 +2681,8 @@ edit_replace_cmd (WEdit * edit, int again)
|
||||
cleanup:
|
||||
g_free (input1);
|
||||
g_free (input2);
|
||||
if (input2_str != NULL)
|
||||
g_string_free (input2_str, TRUE);
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------------------------- */
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user