[syslinux] [PATCH 2/2] com32: Fix a bug on history of commands.

Raphael S Carvalho raphael.scarv at gmail.com
Sun Sep 15 18:09:31 PDT 2013


On Sun, Sep 15, 2013 at 9:53 PM, Raphael S.Carvalho
<raphael.scarv at gmail.com> wrote:
> Previously, even non-length commands were added to history, but
> it shoudn't, e.g: just typing enter.
>
> For example, if you type: FOO -> (ENTER) -> (ENTER),
> then to get FOO from the history you would have to press the UP key
> twice. It also saves a bit of memory.

Matt Fleming, please consider the commit message below instead. It
fixes my grammar mistakes:

Previously, even zero-length commands would be added to the history when
they shoudn't, e.g: just typing enter.

For example, if you type: FOO -> (ENTER) -> (ENTER),
then to get FOO from the history you would have to press the UP key
twice. It also saves a bit of memory.

Signed-off-by: Raphael S.Carvalho <raphael.scarv at gmail.com>
---

>
> Signed-off-by: Raphael S.Carvalho <raphael.scarv at gmail.com>
> ---
>  com32/elflink/ldlinux/cli.c |   13 ++++++++-----
>  1 files changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/com32/elflink/ldlinux/cli.c b/com32/elflink/ldlinux/cli.c
> index b70224a..d661119 100644
> --- a/com32/elflink/ldlinux/cli.c
> +++ b/com32/elflink/ldlinux/cli.c
> @@ -461,11 +461,14 @@ const char *edit_cmdline(const char *input, int top /*, int width */ ,
>
>      printf("\033[?7h");
>
> -    /* Add the command to the history */
> -    comm_counter = malloc(sizeof(struct cli_command));
> -    comm_counter->command = malloc(sizeof(char) * (strlen(ret) + 1));
> -    strcpy(comm_counter->command, ret);
> -    list_add(&(comm_counter->list), &cli_history_head);
> +    /* Add the command to the history if its length is larger than 0 */
> +    len = strlen(ret);
> +    if (len > 0) {
> +       comm_counter = malloc(sizeof(struct cli_command));
> +       comm_counter->command = malloc(sizeof(char) * (len + 1));
> +       strcpy(comm_counter->command, ret);
> +       list_add(&(comm_counter->list), &cli_history_head);
> +    }
>
>      return len ? ret : NULL;
>  }
> --
> 1.7.2.5
>


More information about the Syslinux mailing list