Hi Marcin, On Fri, Sep 22, 2017 at 10:52 AM, Marcin Kraglak <marcin.kraglak@xxxxxxxxx> wrote: > Hi Luiz Eramoto, > > On 22 September 2017 at 03:42, Luiz Augusto von Dentz > <luiz.dentz@xxxxxxxxx> wrote: >> Hi Eramoto, Marcin, >> >> On Fri, Sep 22, 2017 at 9:27 AM, ERAMOTO Masaya >> <eramoto.masaya@xxxxxxxxxxxxxx> wrote: >>> Hi Marcin, >>> >>>> +#ifdef HAVE_CONFIG_H >>>> +#include <config.h> >>>> +#endif >>>> + >>>> +#include <stdio.h> >>>> +#include "src/shared/util.h" >>>> +#include "src/shared/queue.h" >>>> +#include "src/shared/bt_shell.h" >>>> + >>>> +#define CMD_LENGTH 48 >>>> + >>>> +static struct { >>>> + const struct bt_shell_menu_entry *current; >>>> +} bt_shell_data; >>>> + >>>> +bool bt_shell_init(const struct bt_shell_menu_entry *menu) >>>> +{ >>>> + if (bt_shell_data.current || !menu) >>>> + return false; >>>> + >>>> + bt_shell_data.current = menu; >>>> + >>>> + return true; >>>> +} >>>> + >>>> +void bt_shell_cleanup(void) >>>> +{ >>>> + bt_shell_data.current = NULL; >>>> +} >>>> + >>>> +void bt_shell_process(const char *cmd, const char *arg) >>>> +{ >>>> + const struct bt_shell_menu_entry *entry; >>>> + >>>> + if (!bt_shell_data.current || !cmd) >>>> + return; >>>> + >>>> + for (entry = bt_shell_data.current; entry->cmd; entry++) { >>>> + if (strcmp(cmd, entry->cmd)) >>>> + continue; >>>> + >>>> + if (entry->func) { >>>> + entry->func(arg); >>>> + return; >>>> + } >>>> + } >>>> + >>>> + if (strcmp(cmd, "help")) { >>>> + printf("Invalid command\n"); >>>> + return; >>>> + } >>>> + >>>> + bt_shell_print_menu(); >>>> +} >>>> + >>>> +void bt_shell_print_menu(void) >>>> +{ >>>> + const struct bt_shell_menu_entry *entry; >>>> + >>>> + if (!bt_shell_data.current) >>>> + return; >>>> + >>>> + printf("Available commands:\n"); >>>> + for (entry = bt_shell_data.current; entry->cmd; entry++) { >>>> + printf(" %s %-*s %s\n", entry->cmd, >>>> + (int)(CMD_LENGTH - strlen(entry->cmd)), >>>> + entry->arg ? : "", entry->desc ? : ""); >>> >>> >>> I think that it is better to >>> - add some white-spaces >>> or >>> - add a new line >>> between the argument string and the description string, because it is a little >>> difficult for the help of register-characteristic to read as below: >>> >>> [bluetooth]# help >>> Available commands: >>> ... >>> unregister-service <UUID/object> Unregister application service >>> register-characteristic <UUID> <Flags=read,write,notify...> Register application characteristic >>> unregister-characteristic <UUID/object> Unregister application characteristic >>> register-descriptor <UUID> <Flags=read,write...> Register application descriptor >> >> It should probably have the same formatting as bluetoothctl: >> >> https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/client/main.c#n2677 >> >> -- >> Luiz Augusto von Dentz > > Yes, I'll correct it Are you still working on this? -- 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