]> git.proxmox.com Git - qemu.git/commitdiff
Handle history additions properly, by Andreas Schwab.
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 17 Dec 2007 20:31:43 +0000 (20:31 +0000)
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 17 Dec 2007 20:31:43 +0000 (20:31 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3835 c046a42c-6fe2-441c-8c8c-71466251a162

readline.c

index f690f6e9eddf4685904742dba0880963ac295be5..81bc49120a53d1911b5b7b5b069300c1248d0401 100644 (file)
@@ -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;
     }