summaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
authorVicent Martí <tanoku@gmail.com>2011-07-05 04:31:37 -0700
committerVicent Martí <tanoku@gmail.com>2011-07-05 04:31:37 -0700
commitf12aa9dc5ed04cfe92f1d536314eb03185f67f7d (patch)
treeb720325beef678f7d132280d8f2644277a4e7d86 /src/util.c
parent7d69f78897fc079a58059d9a84ab5928161d78cb (diff)
parent0ac2726fdf945792028e59105d8630a91c5d3663 (diff)
downloadlibgit2-f12aa9dc5ed04cfe92f1d536314eb03185f67f7d.tar.gz
Merge pull request #300 from carlosmn/gsoc2011/master
A bit of networking
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 7dc8d3b4f..5b8a1367c 100644
--- a/src/util.c
+++ b/src/util.c
@@ -1,9 +1,16 @@
#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;
@@ -20,6 +27,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;