From ccf7aa52aad631e1db1bbda8f3a3784ef3cd182b Mon Sep 17 00:00:00 2001 From: ths Date: Mon, 17 Dec 2007 20:31:43 +0000 Subject: [PATCH] Handle history additions properly, by Andreas Schwab. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3835 c046a42c-6fe2-441c-8c8c-71466251a162 --- readline.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readline.c b/readline.c index f690f6e9ed..81bc49120a 100644 --- a/readline.c +++ b/readline.c @@ -267,7 +267,7 @@ static void term_hist_add(const char *cmdline) new_entry = hist_entry; /* Put this entry at the end of history */ memmove(&term_history[idx], &term_history[idx + 1], - &term_history[TERM_MAX_CMDS] - &term_history[idx + 1]); + (TERM_MAX_CMDS - idx + 1) * sizeof(char *)); term_history[TERM_MAX_CMDS - 1] = NULL; for (; idx < TERM_MAX_CMDS; idx++) { if (term_history[idx] == NULL) @@ -280,7 +280,7 @@ static void term_hist_add(const char *cmdline) /* Need to get one free slot */ free(term_history[0]); memcpy(term_history, &term_history[1], - &term_history[TERM_MAX_CMDS] - &term_history[1]); + (TERM_MAX_CMDS - 1) * sizeof(char *)); term_history[TERM_MAX_CMDS - 1] = NULL; idx = TERM_MAX_CMDS - 1; }