Taylor Blau <me@xxxxxxxxxxxx> writes: > In a similar spirit as a previous commit, use the new `grep_and_expr()` > to construct the AND node in `compile_pattern_and()`. > > Unlike the aforementioned previous commit, this is not about code > duplication, since this is the only spot in grep.c where an AND node is > constructed. Rather, this is about visual consistency with the other > `compile_pattern_xyz()` functions. > > Signed-off-by: Taylor Blau <me@xxxxxxxxxxxx> > --- > grep.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/grep.c b/grep.c > index d772fe6cc5..ab4fdacaed 100644 > --- a/grep.c > +++ b/grep.c > @@ -619,6 +619,11 @@ static struct grep_expr *grep_or_expr(struct grep_expr *left, struct grep_expr * > return grep_binexp(GREP_NODE_OR, left, right); > } > > +static struct grep_expr *grep_and_expr(struct grep_expr *left, struct grep_expr *right) > +{ > + return grep_binexp(GREP_NODE_AND, left, right); > +} > + > static struct grep_expr *compile_pattern_or(struct grep_pat **); > static struct grep_expr *compile_pattern_atom(struct grep_pat **list) > { > @@ -687,11 +692,7 @@ static struct grep_expr *compile_pattern_and(struct grep_pat **list) > y = compile_pattern_and(list); > if (!y) > die("--and not followed by pattern expression"); > - CALLOC_ARRAY(z, 1); > - z->node = GREP_NODE_AND; > - z->u.binary.left = x; > - z->u.binary.right = y; > - return z; > + return grep_and_expr(x, y); You'd need to remove 'z' from the function to avoid getting yelled at by your compiler for unused variable.