diff options
author | Junio C Hamano <junkio@cox.net> | 2006-05-01 12:39:21 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-05-01 12:40:17 -0700 |
commit | df0e7aa8644eef5ebc018bf838739e25f3494b6c (patch) | |
tree | 0e68520d1223088f31b99d77773b032021973bd2 /builtin-grep.c | |
parent | builtin-grep: wildcard pathspec fixes (diff) | |
download | tgif-df0e7aa8644eef5ebc018bf838739e25f3494b6c.tar.xz |
builtin-grep: support '-l' option.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'builtin-grep.c')
-rw-r--r-- | builtin-grep.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/builtin-grep.c b/builtin-grep.c index 653b65ea10..c3e6701aa0 100644 --- a/builtin-grep.c +++ b/builtin-grep.c @@ -81,6 +81,7 @@ struct grep_opt { regex_t regexp; unsigned linenum:1; unsigned invert:1; + unsigned name_only:1; int regflags; unsigned pre_context; unsigned post_context; @@ -139,6 +140,10 @@ static int grep_buffer(struct grep_opt *opt, const char *name, if (opt->invert) hit = !hit; if (hit) { + if (opt->name_only) { + printf("%s\n", name); + return 1; + } /* Hit at this line. If we haven't shown the * pre-context lines, we would need to show them. */ @@ -406,6 +411,11 @@ int cmd_grep(int argc, const char **argv, char **envp) */ continue; } + if (!strcmp("-l", arg) || + !strcmp("--files-with-matches", arg)) { + opt.name_only = 1; + continue; + } if (!strcmp("-A", arg) || !strcmp("-B", arg) || !strcmp("-C", arg)) { |