revisions: initialize revs->grep_filter using grep_init()
Instead of using the hand-rolled initialization sequence, use grep_init() to populate the necessary bits. This opens the door to allow the calling commands to optionally read grep.* configuration variables via git_config() if they want to. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano committed
Oct 9, 2012 at 16:40 UTC
918d4e1c907983d26b0c4d82d7f7abff4dbec4e5
2 files changed
+9
-2
grep.c
+5
@@ -16,6 +16,11 @@ static struct grep_opt grep_defaults;
16
void init_grep_defaults(void)
17
{
18
struct grep_opt *opt = &grep_defaults;
19
+ static int run_once;
20
+
21
+ if (run_once)
22
+ return;
23
+ run_once++;
24
25
memset(opt, 0, sizeof(*opt));
26
opt->relative = 1;
revision.c
+4
-2
@@ -1048,9 +1048,9 @@ void init_revisions(struct rev_info *revs, const char *prefix)
1048
1049
revs->commit_format = CMIT_FMT_DEFAULT;
1050
1051
+ init_grep_defaults();
1052
+ grep_init(&revs->grep_filter, prefix);
1053
revs->grep_filter.status_only = 1;
1052
- revs->grep_filter.pattern_tail = &(revs->grep_filter.pattern_list);
1053
- revs->grep_filter.header_tail = &(revs->grep_filter.header_list);
1054
revs->grep_filter.regflags = REG_NEWLINE;
1055
1056
diff_setup(&revs->diffopt);
@@ -1893,6 +1893,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
1893
revs->diffopt.abbrev = revs->abbrev;
1894
diff_setup_done(&revs->diffopt);
1895
1896
+ grep_commit_pattern_type(GREP_PATTERN_TYPE_UNSPECIFIED,
1897
+ &revs->grep_filter);
1898
compile_grep_patterns(&revs->grep_filter);
1899
1900
if (revs->reverse && revs->reflog_info)