X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=read-cache.c;h=7772079ad3101a2a51cfef1c5b1c250ed3ff37de;hb=9ddf17268c632967abf2dadf9fa2b9d11dcc1867;hp=4f2e890b01b0c27ef2e49080e1fd34bf67e969c7;hpb=0b0cd0e0a29a139f418991dd769ea4266ffec370;p=git.git diff --git a/read-cache.c b/read-cache.c index 4f2e890b0..7772079ad 100644 --- a/read-cache.c +++ b/read-cache.c @@ -706,30 +706,9 @@ int ce_same_name(struct cache_entry *a, struct cache_entry *b) return ce_namelen(b) == len && !memcmp(a->name, b->name, len); } -int ce_path_match(const struct cache_entry *ce, const char **pathspec) +int ce_path_match(const struct cache_entry *ce, const struct pathspec *pathspec) { - const char *match, *name; - int len; - - if (!pathspec) - return 1; - - len = ce_namelen(ce); - name = ce->name; - while ((match = *pathspec++) != NULL) { - int matchlen = strlen(match); - if (matchlen > len) - continue; - if (memcmp(name, match, matchlen)) - continue; - if (matchlen && name[matchlen-1] == '/') - return 1; - if (name[matchlen] == '/' || !name[matchlen]) - return 1; - if (!matchlen) - return 1; - } - return 0; + return match_pathspec_depth(pathspec, ce->name, ce_namelen(ce), 0, NULL); } /*