summaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/util.c b/src/util.c
index f36cce5fe..ecbed9012 100644
--- a/src/util.c
+++ b/src/util.c
@@ -1,10 +1,17 @@
#define GIT__NO_HIDE_MALLOC
#include <git2.h>
#include "common.h"
+#include "fnmatch.h"
#include <stdarg.h>
#include <stdio.h>
#include <ctype.h>
+#ifdef _MSV_VER
+# include <Shlwapi.h>
+#else
+# include <fnmatch.h>
+#endif
+
void git_libgit2_version(int *major, int *minor, int *rev)
{
*major = LIBGIT2_VER_MAJOR;
@@ -21,6 +28,21 @@ void git_strarray_free(git_strarray *array)
free(array->strings);
}
+int git__fnmatch(const char *pattern, const char *name, int flags)
+{
+ int ret;
+
+ ret = fnmatch(pattern, name, flags);
+ switch (ret) {
+ case 0:
+ return GIT_SUCCESS;
+ case FNM_NOMATCH:
+ return GIT_ENOMATCH;
+ default:
+ return git__throw(GIT_EOSERR, "Error trying to match path");
+ }
+}
+
int git__strtol32(long *result, const char *nptr, const char **endptr, int base)
{
const char *p;