git-grep: fix exit code when we use external grep.

Upon hit, we should exit with status 0.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2006-07-04 02:43:40 -07:00
parent 5390590f6d
commit fcfe34b5ac

View file

@ -446,7 +446,7 @@ static int exec_grep(int argc, const char **argv)
static int external_grep(struct grep_opt *opt, const char **paths, int cached)
{
int i, nr, argc, hit, len;
int i, nr, argc, hit, len, status;
const char *argv[MAXARGS+1];
char randarg[ARGBUF];
char *argptr = randarg;
@ -536,12 +536,17 @@ static int external_grep(struct grep_opt *opt, const char **paths, int cached)
argv[argc++] = name;
if (argc < MAXARGS)
continue;
hit += exec_grep(argc, argv);
status = exec_grep(argc, argv);
if (0 < status)
hit = 1;
argc = nr;
}
if (argc > nr)
hit += exec_grep(argc, argv);
return 0;
if (argc > nr) {
status = exec_grep(argc, argv);
if (0 < status)
hit = 1;
}
return hit;
}
static int grep_cache(struct grep_opt *opt, const char **paths, int cached)