Code

tree_entry_interesting(): support depth limit
[git.git] / dir.c
diff --git a/dir.c b/dir.c
index 70d10bc3da8ae24fd594e443d6f33f9f4375f621..c3bddb60c81fbf362614f081a5b62f0160a01c63 100644 (file)
--- a/dir.c
+++ b/dir.c
@@ -87,6 +87,21 @@ int fill_directory(struct dir_struct *dir, const char **pathspec)
        return len;
 }
 
+int within_depth(const char *name, int namelen,
+                       int depth, int max_depth)
+{
+       const char *cp = name, *cpe = name + namelen;
+
+       while (cp < cpe) {
+               if (*cp++ != '/')
+                       continue;
+               depth++;
+               if (depth > max_depth)
+                       return 0;
+       }
+       return 1;
+}
+
 /*
  * Does 'match' match the given name?
  * A match is found if