Skip to content

Commit fc45675

Browse files
René Scharfegitster
authored andcommitted
grep: factor out create_grep_pat()
Add create_grep_pat(), a shared helper for all grep pattern allocation and initialization needs. Signed-off-by: Rene Scharfe <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent f174a25 commit fc45675

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

grep.c

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,26 @@
33
#include "userdiff.h"
44
#include "xdiff-interface.h"
55

6-
void append_header_grep_pattern(struct grep_opt *opt, enum grep_header_field field, const char *pat)
6+
static struct grep_pat *create_grep_pat(const char *pat, size_t patlen,
7+
const char *origin, int no,
8+
enum grep_pat_token t,
9+
enum grep_header_field field)
710
{
811
struct grep_pat *p = xcalloc(1, sizeof(*p));
912
p->pattern = pat;
10-
p->patternlen = strlen(pat);
11-
p->origin = "header";
12-
p->no = 0;
13-
p->token = GREP_PATTERN_HEAD;
13+
p->patternlen = patlen;
14+
p->origin = origin;
15+
p->no = no;
16+
p->token = t;
1417
p->field = field;
18+
return p;
19+
}
20+
21+
void append_header_grep_pattern(struct grep_opt *opt,
22+
enum grep_header_field field, const char *pat)
23+
{
24+
struct grep_pat *p = create_grep_pat(pat, strlen(pat), "header", 0,
25+
GREP_PATTERN_HEAD, field);
1526
*opt->header_tail = p;
1627
opt->header_tail = &p->next;
1728
p->next = NULL;
@@ -26,12 +37,7 @@ void append_grep_pattern(struct grep_opt *opt, const char *pat,
2637
void append_grep_pat(struct grep_opt *opt, const char *pat, size_t patlen,
2738
const char *origin, int no, enum grep_pat_token t)
2839
{
29-
struct grep_pat *p = xcalloc(1, sizeof(*p));
30-
p->pattern = pat;
31-
p->patternlen = patlen;
32-
p->origin = origin;
33-
p->no = no;
34-
p->token = t;
40+
struct grep_pat *p = create_grep_pat(pat, patlen, origin, no, t, 0);
3541
*opt->pattern_tail = p;
3642
opt->pattern_tail = &p->next;
3743
p->next = NULL;

0 commit comments

Comments
 (0)