Commit first cut at "git-fetch-pack"
[gitweb.git] / connect.c
index 60b87f5867eaed8240d943b83dd7a5032ed5f89b..941bf296b0d5a8ded60cea0ed61770dc909d2d88 100644 (file)
--- a/connect.c
+++ b/connect.c
@@ -1,6 +1,27 @@
 #include "cache.h"
 #include <sys/wait.h>
 
+int path_match(const char *path, int nr, char **match)
+{
+       int i;
+       int pathlen = strlen(path);
+
+       for (i = 0; i < nr; i++) {
+               char *s = match[i];
+               int len = strlen(s);
+
+               if (!len || len > pathlen)
+                       continue;
+               if (memcmp(path + pathlen - len, s, len))
+                       continue;
+               if (pathlen > len && path[pathlen - len - 1] != '/')
+                       continue;
+               *s = 0;
+               return 1;
+       }
+       return 0;
+}
+
 /*
  * First, make it shell-safe.  We do this by just disallowing any
  * special characters. Somebody who cares can do escaping and let