mirror of
https://github.com/git/git.git
synced 2024-11-27 20:14:30 +08:00
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 <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
f174a2583c
commit
fc45675110
28
grep.c
28
grep.c
@ -3,15 +3,26 @@
|
||||
#include "userdiff.h"
|
||||
#include "xdiff-interface.h"
|
||||
|
||||
void append_header_grep_pattern(struct grep_opt *opt, enum grep_header_field field, const char *pat)
|
||||
static struct grep_pat *create_grep_pat(const char *pat, size_t patlen,
|
||||
const char *origin, int no,
|
||||
enum grep_pat_token t,
|
||||
enum grep_header_field field)
|
||||
{
|
||||
struct grep_pat *p = xcalloc(1, sizeof(*p));
|
||||
p->pattern = pat;
|
||||
p->patternlen = strlen(pat);
|
||||
p->origin = "header";
|
||||
p->no = 0;
|
||||
p->token = GREP_PATTERN_HEAD;
|
||||
p->patternlen = patlen;
|
||||
p->origin = origin;
|
||||
p->no = no;
|
||||
p->token = t;
|
||||
p->field = field;
|
||||
return p;
|
||||
}
|
||||
|
||||
void append_header_grep_pattern(struct grep_opt *opt,
|
||||
enum grep_header_field field, const char *pat)
|
||||
{
|
||||
struct grep_pat *p = create_grep_pat(pat, strlen(pat), "header", 0,
|
||||
GREP_PATTERN_HEAD, field);
|
||||
*opt->header_tail = p;
|
||||
opt->header_tail = &p->next;
|
||||
p->next = NULL;
|
||||
@ -26,12 +37,7 @@ void append_grep_pattern(struct grep_opt *opt, const char *pat,
|
||||
void append_grep_pat(struct grep_opt *opt, const char *pat, size_t patlen,
|
||||
const char *origin, int no, enum grep_pat_token t)
|
||||
{
|
||||
struct grep_pat *p = xcalloc(1, sizeof(*p));
|
||||
p->pattern = pat;
|
||||
p->patternlen = patlen;
|
||||
p->origin = origin;
|
||||
p->no = no;
|
||||
p->token = t;
|
||||
struct grep_pat *p = create_grep_pat(pat, patlen, origin, no, t, 0);
|
||||
*opt->pattern_tail = p;
|
||||
opt->pattern_tail = &p->next;
|
||||
p->next = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user