mirror of
https://github.com/MidnightCommander/mc
synced 2024-12-22 20:36:50 +03:00
(push history): refactoring.
Rename to input_push_history(). Use input's buffer. Don't duplicate an empty string, use current one. Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
This commit is contained in:
parent
6639c4f070
commit
6aeeb7ffb1
@ -215,18 +215,20 @@ input_history_strip_password (char *url)
|
||||
/* --------------------------------------------------------------------------------------------- */
|
||||
|
||||
static void
|
||||
push_history (WInput * in, const char *text)
|
||||
input_push_history (WInput * in)
|
||||
{
|
||||
char *t;
|
||||
gboolean empty;
|
||||
|
||||
if (text == NULL)
|
||||
return;
|
||||
|
||||
t = g_strstrip (g_strdup (text));
|
||||
/* FIXME: don't use input_get_text() to avoid extra checks */
|
||||
t = g_strstrip (g_strndup (in->buffer->str, in->buffer->len));
|
||||
empty = *t == '\0';
|
||||
g_free (t);
|
||||
t = g_strdup (empty ? "" : text);
|
||||
if (!empty)
|
||||
{
|
||||
g_free (t);
|
||||
/* FIXME: don't use input_get_text() to avoid extra checks */
|
||||
t = g_strndup (in->buffer->str, in->buffer->len);
|
||||
}
|
||||
|
||||
if (!empty && in->history.name != NULL && in->strip_password)
|
||||
{
|
||||
@ -590,7 +592,7 @@ hist_prev (WInput * in)
|
||||
return;
|
||||
|
||||
if (in->need_push)
|
||||
push_history (in, in->buffer->str);
|
||||
input_push_history (in);
|
||||
|
||||
prev = g_list_previous (in->history.current);
|
||||
if (prev != NULL)
|
||||
@ -611,7 +613,7 @@ hist_next (WInput * in)
|
||||
|
||||
if (in->need_push)
|
||||
{
|
||||
push_history (in, in->buffer->str);
|
||||
input_push_history (in);
|
||||
input_assign_text (in, "");
|
||||
return;
|
||||
}
|
||||
@ -842,7 +844,7 @@ input_save_history (const gchar * event_group_name, const gchar * event_name,
|
||||
{
|
||||
ev_history_load_save_t *ev = (ev_history_load_save_t *) data;
|
||||
|
||||
push_history (in, in->buffer->str);
|
||||
input_push_history (in);
|
||||
if (in->history.changed)
|
||||
mc_config_history_save (ev->cfg, in->history.name, in->history.list);
|
||||
in->history.changed = FALSE;
|
||||
@ -1344,7 +1346,7 @@ input_disable_update (WInput * in)
|
||||
void
|
||||
input_clean (WInput * in)
|
||||
{
|
||||
push_history (in, in->buffer->str);
|
||||
input_push_history (in);
|
||||
in->need_push = TRUE;
|
||||
g_string_set_size (in->buffer, 0);
|
||||
in->point = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user