Re: [PATCH 3/8] builtin/config: extract `handle_value_regex()` from `get_value()`
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 21, 2019, 05:02 UTC
- Message-ID
- <xmqq4kyxakjs.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <c4bcb32299291549d82c0544937a647c5000ad64.1573670565.git.martin.agren@gmail.com>
Martin Ågren <martin.agren@gmail.com> writes:
Show 6 quoted lines
> This is a self-contained and fairly large chunk of code which will soon > gain a few more lines. Prepare by extracting it into a separate > function. > > This whole chunk is wrapped in "if (regex_)" -- rewrite it into an early > return path in the new helper function to reduce indentation.
It is not clear if regexp were cleared to NULL when !regex_ in the original code, so if that were the case, this refactoring is a worthy clean-up from that point of view, too.
Show 5 quoted lines
> > Signed-off-by: Martin Ågren <martin.agren@gmail.com> > --- > I copy the "xmalloc(sizeof(regex_t))" anti-pattern verbatim. We will > lose it in the next patch.
It also spreads the use of file-scope global variables like do_not_match and regexp, which also is existing anti-pattern that we may want to fix by enclosing them in a struct and pass a pointer to it around the callchain. We can clean it up later.