From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LgKtv-0004wc-6J for qemu-devel@nongnu.org; Sun, 08 Mar 2009 11:26:51 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LgKtt-0004vv-OV for qemu-devel@nongnu.org; Sun, 08 Mar 2009 11:26:50 -0400 Received: from [199.232.76.173] (port=52515 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LgKtt-0004vm-Fm for qemu-devel@nongnu.org; Sun, 08 Mar 2009 11:26:49 -0400 Received: from fmmailgate02.web.de ([217.72.192.227]:60984) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LgKtt-0002ka-0K for qemu-devel@nongnu.org; Sun, 08 Mar 2009 11:26:49 -0400 Received: from smtp07.web.de (fmsmtp07.dlan.cinetic.de [172.20.5.215]) by fmmailgate02.web.de (Postfix) with ESMTP id 6D591FB87A7E for ; Sun, 8 Mar 2009 16:26:48 +0100 (CET) Received: from [88.65.240.115] (helo=[192.168.1.4]) by smtp07.web.de with asmtp (TLSv1:AES256-SHA:256) (WEB.DE 4.110 #277) id 1LgKts-0007Xj-00 for qemu-devel@nongnu.org; Sun, 08 Mar 2009 16:26:48 +0100 Message-ID: <49B3E3B7.8040100@web.de> Date: Sun, 08 Mar 2009 16:26:47 +0100 From: Jan Kiszka MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Sender: jan.kiszka@web.de Subject: [Qemu-devel] [PATCH] monitor: Provide empty command as final history entry Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel Provide an empty line as last entry in command line history, just like bash e.g. does. Signed-off-by: Jan Kiszka --- readline.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/readline.c b/readline.c index 9c4b68b..9c500f1 100644 --- a/readline.c +++ b/readline.c @@ -196,12 +196,14 @@ static void readline_up_char(ReadLineState *rs) static void readline_down_char(ReadLineState *rs) { - if (rs->hist_entry == READLINE_MAX_CMDS - 1 || rs->hist_entry == -1) - return; - if (rs->history[++rs->hist_entry] != NULL) { + if (rs->hist_entry == -1) + return; + if (rs->hist_entry < READLINE_MAX_CMDS - 1 && + rs->history[++rs->hist_entry] != NULL) { pstrcpy(rs->cmd_buf, sizeof(rs->cmd_buf), rs->history[rs->hist_entry]); } else { + rs->cmd_buf[0] = 0; rs->hist_entry = -1; } rs->cmd_buf_index = rs->cmd_buf_size = strlen(rs->cmd_buf);