diff options
author | Vicent Marti <vicent@github.com> | 2014-07-11 16:51:43 +0200 |
---|---|---|
committer | Vicent Marti <vicent@github.com> | 2014-07-11 16:51:43 +0200 |
commit | a6d7e166344cb0d9aa5ecca037a975f9f19e64f1 (patch) | |
tree | 9b168cabda8547388d976c793e38e3e25fe2411f | |
parent | 44cfb6f387555722e84b0997ecff4718b40dd23f (diff) | |
parent | 59ceb432f310de9f26b368ae1b8cdee395e52a50 (diff) | |
download | libgit2-a6d7e166344cb0d9aa5ecca037a975f9f19e64f1.tar.gz |
Merge pull request #2466 from jacquesg/win2003-platform-sdk
Windows compatibility fixes
-rw-r--r-- | src/netops.c | 1 | ||||
-rw-r--r-- | src/strnlen.h | 3 | ||||
-rw-r--r-- | src/trace.h | 10 | ||||
-rw-r--r-- | src/util.c | 3 | ||||
-rw-r--r-- | src/win32/msvc-compat.h | 4 | ||||
-rw-r--r-- | src/win32/posix.h | 2 | ||||
-rw-r--r-- | src/win32/posix_w32.c | 8 |
7 files changed, 23 insertions, 8 deletions
diff --git a/src/netops.c b/src/netops.c index 8a60299c2..fceb4fb74 100644 --- a/src/netops.c +++ b/src/netops.c @@ -13,6 +13,7 @@ # include <netinet/in.h> # include <arpa/inet.h> #else +# include <winsock2.h> # include <ws2tcpip.h> # ifdef _MSC_VER # pragma comment(lib, "ws2_32") diff --git a/src/strnlen.h b/src/strnlen.h index fdd7fe39c..eecfe3c02 100644 --- a/src/strnlen.h +++ b/src/strnlen.h @@ -7,7 +7,8 @@ #ifndef INCLUDE_strlen_h__ #define INCLUDE_strlen_h__ -#if defined(__MINGW32__) || defined(__sun) || defined(__APPLE__) || defined(__MidnightBSD__) +#if defined(__MINGW32__) || defined(__sun) || defined(__APPLE__) || defined(__MidnightBSD__) ||\ + (defined(_MSC_VER) && _MSC_VER < 1500) # define NO_STRNLEN #endif diff --git a/src/trace.h b/src/trace.h index 4d4e3bf53..486084d01 100644 --- a/src/trace.h +++ b/src/trace.h @@ -46,8 +46,16 @@ GIT_INLINE(void) git_trace__write_fmt( #else +GIT_INLINE(void) git_trace__null( + git_trace_level_t level, + const char *fmt, ...) +{ + GIT_UNUSED(level); + GIT_UNUSED(fmt); +} + #define git_trace_level() ((void)0) -#define git_trace(lvl, ...) ((void)0) +#define git_trace git_trace__null #endif diff --git a/src/util.c b/src/util.c index f9d37e4f4..5c305950f 100644 --- a/src/util.c +++ b/src/util.c @@ -613,7 +613,8 @@ void git__qsort_r( defined(__OpenBSD__) || defined(__NetBSD__) || \ defined(__gnu_hurd__) || defined(__ANDROID_API__) || \ defined(__sun) || defined(__CYGWIN__) || \ - (__GLIBC__ == 2 && __GLIBC_MINOR__ < 8) + (__GLIBC__ == 2 && __GLIBC_MINOR__ < 8) || \ + (defined(_MSC_VER) && _MSC_VER < 1500) git__insertsort_r(els, nel, elsize, NULL, cmp, payload); #elif defined(GIT_WIN32) git__qsort_r_glue glue = { cmp, payload }; diff --git a/src/win32/msvc-compat.h b/src/win32/msvc-compat.h index 50865ed17..fa4e2912c 100644 --- a/src/win32/msvc-compat.h +++ b/src/win32/msvc-compat.h @@ -15,7 +15,7 @@ # define R_OK 4 /* read mode check */ # define lseek _lseeki64 -# define stat _stat64 +# define stat __stat64 # define fstat _fstat64 /* stat: file mode type testing macros */ @@ -38,7 +38,7 @@ typedef SSIZE_T ssize_t; /* define snprintf using variadic macro support if available */ -#if _MSC_VER >= 1400 +#if _MSC_VER >= 1500 # define snprintf(BUF, SZ, FMT, ...) _snprintf_s(BUF, SZ, _TRUNCATE, FMT, __VA_ARGS__) #else # define snprintf _snprintf diff --git a/src/win32/posix.h b/src/win32/posix.h index 2cbea1807..22ea6a531 100644 --- a/src/win32/posix.h +++ b/src/win32/posix.h @@ -19,7 +19,7 @@ # define EAFNOSUPPORT (INT_MAX-1) #endif -#ifdef _MSC_VER +#if defined(_MSC_VER) && _MSC_VER >= 1500 # define p_ftruncate(fd, sz) _chsize_s(fd, sz) #else /* MinGW */ # define p_ftruncate(fd, sz) _chsize(fd, sz) diff --git a/src/win32/posix_w32.c b/src/win32/posix_w32.c index fbadb1c9e..a74fcaad1 100644 --- a/src/win32/posix_w32.c +++ b/src/win32/posix_w32.c @@ -19,6 +19,10 @@ # define FILE_NAME_NORMALIZED 0 #endif +#ifndef IO_REPARSE_TAG_SYMLINK +#define IO_REPARSE_TAG_SYMLINK (0xA000000CL) +#endif + /* Options which we always provide to _wopen. * * _O_BINARY - Raw access; no translation of CR or LF characters @@ -543,7 +547,7 @@ char *p_realpath(const char *orig_path, char *buffer) int p_vsnprintf(char *buffer, size_t count, const char *format, va_list argptr) { -#ifdef _MSC_VER +#if defined(_MSC_VER) && _MSC_VER >= 1500 int len; if (count == 0 || @@ -570,7 +574,7 @@ int p_snprintf(char *buffer, size_t count, const char *format, ...) int p_mkstemp(char *tmp_path) { -#if defined(_MSC_VER) +#if defined(_MSC_VER) && _MSC_VER >= 1500 if (_mktemp_s(tmp_path, strlen(tmp_path) + 1) != 0) return -1; #else |