Commit bdcc4611 by nulltoken Committed by Vicent Marti

Fix MSVC compilation warnings

parent de18f276
...@@ -3,6 +3,9 @@ ...@@ -3,6 +3,9 @@
#include <stdint.h> #include <stdint.h>
#include <stdlib.h> #include <stdlib.h>
#ifndef GIT_WIN32
#include <common.h>
#endif
/** /**
* An array-of-pointers implementation of Python's Timsort * An array-of-pointers implementation of Python's Timsort
* Based on code by Christopher Swenson under the MIT license * Based on code by Christopher Swenson under the MIT license
...@@ -89,6 +92,8 @@ static int binsearch(void **dst, const void *x, size_t size, cmp_ptr_t cmp) ...@@ -89,6 +92,8 @@ static int binsearch(void **dst, const void *x, size_t size, cmp_ptr_t cmp)
static void bisort(void **dst, size_t start, size_t size, cmp_ptr_t cmp) static void bisort(void **dst, size_t start, size_t size, cmp_ptr_t cmp)
{ {
size_t i; size_t i;
void *x;
int location;
for (i = start; i < size; i++) { for (i = start; i < size; i++) {
int j; int j;
...@@ -97,8 +102,8 @@ static void bisort(void **dst, size_t start, size_t size, cmp_ptr_t cmp) ...@@ -97,8 +102,8 @@ static void bisort(void **dst, size_t start, size_t size, cmp_ptr_t cmp)
continue; continue;
/* Else we need to find the right place, shift everything over, and squeeze in */ /* Else we need to find the right place, shift everything over, and squeeze in */
void *x = dst[i]; x = dst[i];
int location = binsearch(dst, x, i, cmp); location = binsearch(dst, x, i, cmp);
for (j = i - 1; j >= location; j--) { for (j = i - 1; j >= location; j--) {
dst[j + 1] = dst[j]; dst[j + 1] = dst[j];
} }
...@@ -323,7 +328,8 @@ static ssize_t collapse(void **dst, struct tsort_run *stack, ssize_t stack_curr, ...@@ -323,7 +328,8 @@ static ssize_t collapse(void **dst, struct tsort_run *stack, ssize_t stack_curr,
bisort(&dst[curr], len, run, cmp);\ bisort(&dst[curr], len, run, cmp);\
len = run;\ len = run;\
}\ }\
run_stack[stack_curr++] = (struct tsort_run) {curr, len};\ run_stack[stack_curr].start = curr;\
run_stack[stack_curr++].length = len;\
curr += len;\ curr += len;\
if (curr == (ssize_t)size) {\ if (curr == (ssize_t)size) {\
/* finish up */ \ /* finish up */ \
...@@ -341,7 +347,6 @@ static ssize_t collapse(void **dst, struct tsort_run *stack, ssize_t stack_curr, ...@@ -341,7 +347,6 @@ static ssize_t collapse(void **dst, struct tsort_run *stack, ssize_t stack_curr,
}\ }\
while (0) while (0)
void git__tsort(void **dst, size_t size, cmp_ptr_t cmp) void git__tsort(void **dst, size_t size, cmp_ptr_t cmp)
{ {
struct tsort_store _store, *store = &_store; struct tsort_store _store, *store = &_store;
......
...@@ -118,7 +118,7 @@ extern int git__fnmatch(const char *pattern, const char *name, int flags); ...@@ -118,7 +118,7 @@ extern int git__fnmatch(const char *pattern, const char *name, int flags);
} \ } \
} while (0) } while (0)
extern int git__tsort(void **b, size_t n, int (*cmp)(const void *, const void *)); extern void git__tsort(void **dst, size_t size, int (*cmp)(const void *, const void *));
extern void **git__bsearch(const void *key, void **base, size_t nmemb, extern void **git__bsearch(const void *key, void **base, size_t nmemb,
int (*compar)(const void *, const void *)); int (*compar)(const void *, const void *));
......
...@@ -75,7 +75,7 @@ END_TEST ...@@ -75,7 +75,7 @@ END_TEST
static int test_cmp(const void *a, const void *b) static int test_cmp(const void *a, const void *b)
{ {
return a - b; return (int)a - (int)b;
} }
BEGIN_TEST(vector2, "remove duplicates") BEGIN_TEST(vector2, "remove duplicates")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment