On Wed, Apr 25, 2018 at 12:31 PM, Nguyễn Thái Ngọc Duy
<[email protected]> wrote:
> This allows us to select any group of commands by a category defined
> in command-list.txt. This is an internal/hidden option so we don't
> have to be picky about the category name or worried about exposing too
> much.
>
> This will be used later by git-completion.bash to retrieve certain
> command groups.
>
> Signed-off-by: Nguyễn Thái Ngọc Duy <[email protected]>
> ---
> diff --git a/help.c b/help.c
> @@ -305,6 +305,25 @@ void list_all_cmds(void)
> +void list_cmds_by_category(const char *cat)
> +{
> + int i;
> + int cat_id = 0;
Should 'cat_id' be unsigned...
> +
> + for (i = 0; category_names[i]; i++) {
> + if (!strcmp(cat, category_names[i])) {
> + cat_id = 1 << i;
...since you're shifting it here?
> + break;
> + }
> + }
> + if (!cat_id)
> + die("unsupported command listing type '%s'", cat);
> +
> + for (i = 0; command_list[i].name; i++)
> + if (command_list[i].category & cat_id)
> + puts(command_list[i].name);
> +}