* git grep in .
@ 2006-06-20 16:08 Uwe Zeisberger
2006-06-21 9:04 ` [PATCH] Fix possible out-of-bounds array access Uwe Zeisberger
0 siblings, 1 reply; 3+ messages in thread
From: Uwe Zeisberger @ 2006-06-20 16:08 UTC (permalink / raw)
To: git
Hello,
git grep behaves wrongly if I give it . as path to search in.
E.g.
uzeisberger@io:~/gsrc/git$ git version
git version 1.4.0
uzeisberger@io:~/gsrc/git$ git grep git-grep
.gitignore:git-grep
Documentation/git-grep.txt:git-grep(1)
Documentation/git-grep.txt:git-grep - Print lines matching a pattern
Documentation/git-grep.txt:'git-grep' [--cached]
Documentation/git.txt:gitlink:git-grep[1]::
Makefile: git-grep$X git-add$X git-rm$X git-rev-list$X \
builtin-grep.c:"git-grep <option>* <rev>* [-e] <pattern> [<path>...]";
uzeisberger@io:~/gsrc/git$ git grep git-grep .
uzeisberger@io:~/gsrc/git$
I'd expect that `git grep git-grep .` gives the same results as `git
grep git-grep`.
Best regards
Uwe
--
Uwe Zeisberger
exit vi, lesson II:
: w q ! <CR>
NB: write the current file
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] Fix possible out-of-bounds array access
2006-06-20 16:08 git grep in Uwe Zeisberger
@ 2006-06-21 9:04 ` Uwe Zeisberger
2006-06-21 11:01 ` Junio C Hamano
0 siblings, 1 reply; 3+ messages in thread
From: Uwe Zeisberger @ 2006-06-21 9:04 UTC (permalink / raw)
To: git
If match is "", match[-1] is accessed. Let pathspec_matches return 1 in that
case indicating that "" matches everything.
Incidently this fixes git-grep'ing in ".".
Signed-off-by: Uwe Zeisberger <Uwe_Zeisberger@digi.com>
---
builtin-grep.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/builtin-grep.c b/builtin-grep.c
index 9806499..f7767bb 100644
--- a/builtin-grep.c
+++ b/builtin-grep.c
@@ -29,10 +29,11 @@ static int pathspec_matches(const char *
int matchlen = strlen(match);
const char *cp, *meta;
- if ((matchlen <= namelen) &&
- !strncmp(name, match, matchlen) &&
- (match[matchlen-1] == '/' ||
- name[matchlen] == '\0' || name[matchlen] == '/'))
+ if (!matchlen ||
+ ((matchlen <= namelen) &&
+ !strncmp(name, match, matchlen) &&
+ (match[matchlen-1] == '/' ||
+ name[matchlen] == '\0' || name[matchlen] == '/')))
return 1;
if (!fnmatch(match, name, 0))
return 1;
--
1.4.0
--
Uwe Zeisberger
http://www.google.com/search?q=12+mol+in+dozen
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-06-21 11:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-20 16:08 git grep in Uwe Zeisberger
2006-06-21 9:04 ` [PATCH] Fix possible out-of-bounds array access Uwe Zeisberger
2006-06-21 11:01 ` Junio C Hamano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).