Re: [PATCH 07/14] parse-options: allow ll_callback with OPTION_CALLBACK
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Apr 15, 2019, 14:06 UTC
- Message-ID
- <02d2a828-b191-9d9a-7422-d76cdca69ef1@gmail.com>
- In-Reply-To
- <20190127003535.28341-8-pclouds@gmail.com>
On 1/26/2019 7:35 PM, Nguyễn Thái Ngọc Duy wrote:
Show 12 quoted lines
> @@ -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