Re: [PATCH BlueZ] shared/shell: Print out help if using invalid command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Eramoto,

On Tue, Feb 6, 2018 at 3:27 AM, ERAMOTO Masaya
<eramoto.masaya@xxxxxxxxxxxxxx> wrote:
> Because Vincent Petry kindly reported that it is hard to use a command
> in a submenu, clients are changed to print out help messages as below
> when an invalid command is used.
>
>   [bluetooth]# list-attributes
>   Invalid command in menu main: list-attributes
>
>   Use "help" for a list of available commands in a menu.
>   Use "menu <submenu>" if you want to enter any submenu.
>   Use "back" if you want to return to menu main.
> ---
>  src/shared/shell.c | 17 +++++++++++++++--
>  1 file changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/src/shared/shell.c b/src/shared/shell.c
> index f1b85f202..47c048122 100644
> --- a/src/shared/shell.c
> +++ b/src/shared/shell.c
> @@ -191,6 +191,15 @@ static const struct bt_shell_menu_entry default_menu[] = {
>         { }
>  };
>
> +static void shell_print_help(void)
> +{
> +       print_text(COLOR_HIGHLIGHT,
> +               "\n"
> +               "Use \"help\" for a list of available commands in a menu.\n"
> +               "Use \"menu <submenu>\" if you want to enter any submenu.\n"
> +               "Use \"back\" if you want to return to menu main.");
> +}
> +
>  static void shell_print_menu(void)
>  {
>         const struct bt_shell_menu_entry *entry;
> @@ -341,8 +350,12 @@ static void shell_exec(int argc, char *argv[])
>                 return;
>
>         if (menu_exec(default_menu, argc, argv) == -ENOENT) {
> -               if (menu_exec(data.menu->entries, argc, argv) == -ENOENT)
> -                       print_text(COLOR_HIGHLIGHT, "Invalid command");
> +               if (menu_exec(data.menu->entries, argc, argv) == -ENOENT) {
> +                       print_text(COLOR_HIGHLIGHT,
> +                                       "Invalid command in menu %s: %s",
> +                                       data.menu->name , argv[0]);
> +                       shell_print_help();
> +               }
>         }
>  }
>
> --
> 2.14.1

Applied.


-- 
Luiz Augusto von Dentz
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux