From bdcc46111c17b3a59d70ce197e44443f5ffba616 Mon Sep 17 00:00:00 2001 From: nulltoken Date: Thu, 7 Jul 2011 10:11:00 +0200 Subject: [PATCH] Fix MSVC compilation warnings --- src/tsort.c | 13 +++++++++---- src/util.h | 2 +- tests/t00-core.c | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/tsort.c b/src/tsort.c index eda9a2fd2..70ed58901 100644 --- a/src/tsort.c +++ b/src/tsort.c @@ -3,6 +3,9 @@ #include #include +#ifndef GIT_WIN32 +#include +#endif /** * An array-of-pointers implementation of Python's Timsort * 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) static void bisort(void **dst, size_t start, size_t size, cmp_ptr_t cmp) { size_t i; + void *x; + int location; for (i = start; i < size; i++) { int j; @@ -97,8 +102,8 @@ static void bisort(void **dst, size_t start, size_t size, cmp_ptr_t cmp) continue; /* Else we need to find the right place, shift everything over, and squeeze in */ - void *x = dst[i]; - int location = binsearch(dst, x, i, cmp); + x = dst[i]; + location = binsearch(dst, x, i, cmp); for (j = i - 1; j >= location; j--) { dst[j + 1] = dst[j]; } @@ -323,7 +328,8 @@ static ssize_t collapse(void **dst, struct tsort_run *stack, ssize_t stack_curr, bisort(&dst[curr], len, run, cmp);\ 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;\ if (curr == (ssize_t)size) {\ /* finish up */ \ @@ -341,7 +347,6 @@ static ssize_t collapse(void **dst, struct tsort_run *stack, ssize_t stack_curr, }\ while (0) - void git__tsort(void **dst, size_t size, cmp_ptr_t cmp) { struct tsort_store _store, *store = &_store; diff --git a/src/util.h b/src/util.h index 410ebfb26..e64907085 100644 --- a/src/util.h +++ b/src/util.h @@ -118,7 +118,7 @@ extern int git__fnmatch(const char *pattern, const char *name, int flags); } \ } 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, int (*compar)(const void *, const void *)); diff --git a/tests/t00-core.c b/tests/t00-core.c index 660f10c89..6b20e185d 100644 --- a/tests/t00-core.c +++ b/tests/t00-core.c @@ -75,7 +75,7 @@ END_TEST static int test_cmp(const void *a, const void *b) { - return a - b; + return (int)a - (int)b; } BEGIN_TEST(vector2, "remove duplicates")