mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 20:04:50 +00:00
Don't store repeated commands in the editline history buffer.
The equivalent of bash HISTCONTROL=ignoredups. Review: https://reviewboard.asterisk.org/r/2775/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397415 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -3021,12 +3021,23 @@ static int ast_el_initialize(void)
|
||||
static int ast_el_add_history(char *buf)
|
||||
{
|
||||
HistEvent ev;
|
||||
char *stripped_buf;
|
||||
|
||||
if (el_hist == NULL || el == NULL)
|
||||
if (el_hist == NULL || el == NULL) {
|
||||
ast_el_initialize();
|
||||
if (strlen(buf) > (MAX_HISTORY_COMMAND_LENGTH - 1))
|
||||
}
|
||||
if (strlen(buf) > (MAX_HISTORY_COMMAND_LENGTH - 1)) {
|
||||
return 0;
|
||||
return (history(el_hist, &ev, H_ENTER, ast_strip(ast_strdupa(buf))));
|
||||
}
|
||||
|
||||
stripped_buf = ast_strip(ast_strdupa(buf));
|
||||
|
||||
/* HISTCONTROL=ignoredups */
|
||||
if (!history(el_hist, &ev, H_FIRST) && strcmp(ev.str, stripped_buf) == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return history(el_hist, &ev, H_ENTER, stripped_buf);
|
||||
}
|
||||
|
||||
static int ast_el_write_history(char *filename)
|
||||
|
Reference in New Issue
Block a user