Code

Convert ce_path_match() to use match_pathspec_depth()
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Wed, 15 Dec 2010 15:02:50 +0000 (22:02 +0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 17 Dec 2010 22:41:41 +0000 (14:41 -0800)
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
read-cache.c

index f1141a36d8903ed3c14488920cca544622203b09..7f51cd6a65170e4f9d73b92171d4ad8c9d026b2f 100644 (file)
@@ -685,29 +685,7 @@ int ce_same_name(struct cache_entry *a, struct cache_entry *b)
 
 int ce_path_match(const struct cache_entry *ce, const struct pathspec *pathspec)
 {
-       const char *match, *name;
-       const char **ps = pathspec->raw;
-       int len;
-
-       if (!pathspec->nr)
-               return 1;
-
-       len = ce_namelen(ce);
-       name = ce->name;
-       while ((match = *ps++) != 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);
 }
 
 /*