Commit 5c5eeba6 by Philip Kelley

Add git_has_win32_version helper

parent 8cc2f2d8
...@@ -29,9 +29,10 @@ ...@@ -29,9 +29,10 @@
# include "win32/msvc-compat.h" # include "win32/msvc-compat.h"
# include "win32/mingw-compat.h" # include "win32/mingw-compat.h"
# include "win32/error.h" # include "win32/error.h"
# include "win32/version.h"
# ifdef GIT_THREADS # ifdef GIT_THREADS
# include "win32/pthread.h" # include "win32/pthread.h"
#endif # endif
#else #else
......
...@@ -509,11 +509,7 @@ replay: ...@@ -509,11 +509,7 @@ replay:
/* Check for Windows 7. This workaround is only necessary on /* Check for Windows 7. This workaround is only necessary on
* Windows Vista and earlier. Windows 7 is version 6.1. */ * Windows Vista and earlier. Windows 7 is version 6.1. */
DWORD dwVersion = GetVersion(); if (!git_has_win32_version(6, 1)) {
if (LOBYTE(LOWORD(dwVersion)) < 6 ||
(LOBYTE(LOWORD(dwVersion)) == 6 &&
HIBYTE(LOWORD(dwVersion)) < 1)) {
wchar_t *location; wchar_t *location;
DWORD location_length; DWORD location_length;
int redirect_cmp; int redirect_cmp;
...@@ -991,7 +987,7 @@ static int winhttp_receivepack( ...@@ -991,7 +987,7 @@ static int winhttp_receivepack(
{ {
/* WinHTTP only supports Transfer-Encoding: chunked /* WinHTTP only supports Transfer-Encoding: chunked
* on Windows Vista (NT 6.0) and higher. */ * on Windows Vista (NT 6.0) and higher. */
s->chunked = LOBYTE(LOWORD(GetVersion())) >= 6; s->chunked = git_has_win32_version(6, 0);
if (s->chunked) if (s->chunked)
s->parent.write = winhttp_stream_write_chunked; s->parent.write = winhttp_stream_write_chunked;
......
...@@ -45,7 +45,7 @@ char *git_win32_get_error_message(DWORD error_code) ...@@ -45,7 +45,7 @@ char *git_win32_get_error_message(DWORD error_code)
(LPWSTR)&lpMsgBuf, 0, NULL)) { (LPWSTR)&lpMsgBuf, 0, NULL)) {
/* Invalid code point check supported on Vista+ only */ /* Invalid code point check supported on Vista+ only */
if (LOBYTE(LOWORD(GetVersion())) >= 6) if (git_has_win32_version(6, 0))
dwFlags = WC_ERR_INVALID_CHARS; dwFlags = WC_ERR_INVALID_CHARS;
else else
dwFlags = 0; dwFlags = 0;
......
/*
* Copyright (C) the libgit2 contributors. All rights reserved.
*
* This file is part of libgit2, distributed under the GNU GPL v2 with
* a Linking Exception. For full terms see the included COPYING file.
*/
#ifndef INCLUDE_win32_version_h__
#define INCLUDE_win32_version_h__
#include <windows.h>
GIT_INLINE(int) git_has_win32_version(int major, int minor)
{
WORD wVersion = LOWORD(GetVersion());
return LOBYTE(wVersion) > major ||
(LOBYTE(wVersion) == major && HIBYTE(wVersion) >= minor);
}
#endif
\ No newline at end of file
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