On 1/26/2019 7:35 PM, Nguyễn Thái Ngọc Duy wrote:
> @@ -238,7 +249,10 @@ static enum parse_opt_result parse_short_opt(struct 
> parse_opt_ctx_t *p,
>                       len++;
>               arg = xmemdupz(p->opt, len);
>               p->opt = p->opt[len] ? p->opt + len : NULL;
> -             rc = (*numopt->callback)(numopt, arg, 0) ? (-1) : 0;
> +             if (numopt->callback)
> +                     rc = (*numopt->callback)(numopt, arg, 0) ? (-1) : 0;
> +             else
> +                     rc = (*numopt->ll_callback)(p, numopt, arg, 0);
>               free(arg);
>               return rc;
>       }

Hi Duy,

This "else" condition is unreachable. This block is only hit when we have a 
"-<n>"
option, using OPT_NUMBER_CALLBACK, which is implemented by filling "callback", 
never
"ll_callback".

I recommend reverting this diff segment, but please let me know if I'm missing 
something.

Thanks,
-Stolee

Reply via email to