transport: Wrap `strcmp` We don't want direct pointers to the CRT on Windows, we may get stdcall conflicts.
diff --git a/src/transport_local.c b/src/transport_local.c
index bb3b10e..350f2ea 100644
--- a/src/transport_local.c
+++ b/src/transport_local.c
@@ -14,6 +14,13 @@ typedef struct {
git_vector *refs;
} transport_local;
+static int cmp_refs(const void *a, const void *b)
+{
+ const char *stra = (const char *)a;
+ const char *strb = (const char *)b;
+ return strcmp(stra, strb);
+}
+
/*
* Try to open the url as a git directory. The direction doesn't
* matter in this case because we're calulating the heads ourselves.
@@ -140,7 +147,7 @@ static int local_ls(git_transport *transport, git_headarray *array)
return error;
/* Sort the references first */
- git__tsort((void **)refs.strings, refs.count, (git_vector_cmp) strcmp);
+ git__tsort((void **)refs.strings, refs.count, &cmp_refs);
/* Add HEAD */
error = add_ref(GIT_HEAD_FILE, repo, vec);