diff mbox

[U-Boot] cmd/gpio: fix not working 'gpio set' command

Message ID 1455519025-28672-1-git-send-email-oe5hpm@oevsv.at
State Deferred
Delegated to: Tom Rini
Headers show

Commit Message

Hannes Schmelzer Feb. 15, 2016, 6:50 a.m. UTC
From: Hannes Schmelzer <hannes.schmelzer@br-automation.com>

In commit 0ffe6ab521f900bcc765be8f2f31d2c2ba3f0a7e the abbreviation for
the subcommand 'status' was introduced and breaks the 'gpio set'
command.

The change runs a test on the first character of the subcommand only,
this method does not apply since

status
set

are both beginning with the character 's'.

So we have to test at least two characters to be matched, otherwise the
condition for "status" is always true.

Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
---

 cmd/gpio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Hannes Schmelzer Feb. 15, 2016, 11:04 a.m. UTC | #1
On 15.02.2016 07:50, Hannes Schmelzer wrote:
> From: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
>
> In commit 0ffe6ab521f900bcc765be8f2f31d2c2ba3f0a7e the abbreviation for
> the subcommand 'status' was introduced and breaks the 'gpio set'
> command.
>
> The change runs a test on the first character of the subcommand only,
> this method does not apply since
>
> status
> set
>
> are both beginning with the character 's'.
>
> So we have to test at least two characters to be matched, otherwise the
> condition for "status" is always true.
>
> Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
>
> Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
> ---
>
>   cmd/gpio.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/cmd/gpio.c b/cmd/gpio.c
> index 2b78b16..693998e 100644
> --- a/cmd/gpio.c
> +++ b/cmd/gpio.c
> @@ -141,7 +141,7 @@ static int do_gpio(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>   #endif
>   	if (argc > 0)
>   		str_gpio = *argv;
> -	if (!strncmp(str_cmd, "status", 1)) {
> +	if (!strncmp(str_cmd, "status", 2)) {
>   		/* Support deprecated gpio_status() */
>   #ifdef gpio_status
>   		gpio_status();
We can drop this patch, since Simon sent a fix a few hours before.

http://patchwork.ozlabs.org/patch/582638/

Sorry for noise.

regards,
Hannes
Bin Meng Feb. 15, 2016, 11:04 a.m. UTC | #2
Hi Hannes,

On Mon, Feb 15, 2016 at 2:50 PM, Hannes Schmelzer <oe5hpm@oevsv.at> wrote:
> From: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
>
> In commit 0ffe6ab521f900bcc765be8f2f31d2c2ba3f0a7e the abbreviation for
> the subcommand 'status' was introduced and breaks the 'gpio set'
> command.
>
> The change runs a test on the first character of the subcommand only,
> this method does not apply since
>
> status
> set
>
> are both beginning with the character 's'.
>
> So we have to test at least two characters to be matched, otherwise the
> condition for "status" is always true.
>
> Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
>
> Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
> ---
>
>  cmd/gpio.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/cmd/gpio.c b/cmd/gpio.c
> index 2b78b16..693998e 100644
> --- a/cmd/gpio.c
> +++ b/cmd/gpio.c
> @@ -141,7 +141,7 @@ static int do_gpio(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  #endif
>         if (argc > 0)
>                 str_gpio = *argv;
> -       if (!strncmp(str_cmd, "status", 1)) {
> +       if (!strncmp(str_cmd, "status", 2)) {
>                 /* Support deprecated gpio_status() */
>  #ifdef gpio_status
>                 gpio_status();
> --

Duplicated patch :)
See http://patchwork.ozlabs.org/patch/582638/

Regards,
Bin
diff mbox

Patch

diff --git a/cmd/gpio.c b/cmd/gpio.c
index 2b78b16..693998e 100644
--- a/cmd/gpio.c
+++ b/cmd/gpio.c
@@ -141,7 +141,7 @@  static int do_gpio(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 #endif
 	if (argc > 0)
 		str_gpio = *argv;
-	if (!strncmp(str_cmd, "status", 1)) {
+	if (!strncmp(str_cmd, "status", 2)) {
 		/* Support deprecated gpio_status() */
 #ifdef gpio_status
 		gpio_status();