summaryrefslogtreecommitdiff
path: root/src/refspec.c
diff options
context:
space:
mode:
authorCarlos Martín Nieto <carlos@cmartin.tk>2011-06-22 16:52:30 +0200
committerCarlos Martín Nieto <carlos@cmartin.tk>2011-06-26 18:18:11 +0200
commit63f91e1ce856da0a6cfd7ec70f24b087a30ef358 (patch)
tree0f6cf49a95e246d46b15ad32df5506bca2f393f0 /src/refspec.c
parentf8f3feb0d3e98542b6f7a4ac214a65e7f9950d5b (diff)
downloadlibgit2-63f91e1ce856da0a6cfd7ec70f24b087a30ef358.tar.gz
Add git.git's fnmatch, which is really GNU's and the git__fnmatch wrapper
If the strings match, git__fnmatch returns GIT_SUCCESS and GIT_ENOMATCH on failure to match. MSVC fixes: Added a test for _MSC_VER and (in that case) defined HAVE_STRING_H to 1 so it doesn't try to include <strings.h> which doesn't exist in the MSVC world. Moved the function declarations to use the modern inline ones so MSVC doesn't have a fit. Added casts everywhere so MSVC doesn't crap its pants. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Diffstat (limited to 'src/refspec.c')
-rw-r--r--src/refspec.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/refspec.c b/src/refspec.c
index 7a85259f3..38cbb05ee 100644
--- a/src/refspec.c
+++ b/src/refspec.c
@@ -25,6 +25,7 @@
#include "common.h"
#include "refspec.h"
+#include "util.h"
int git_refspec_parse(git_refspec *refspec, const char *str)
{
@@ -64,3 +65,8 @@ const char *git_refspec_dst(const git_refspec *refspec)
{
return refspec->dst;
}
+
+int git_refspec_src_match(const git_refspec *refspec, const char *refname)
+{
+ return git__fnmatch(refspec->src, refname, 0);
+}