From dbd277ce500491cea14bdca48ccb0f9148e55b56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Remy=20B=C3=B6hmer?= Date: Tue, 7 Jan 2020 08:48:55 +0100 Subject: [PATCH] [Win32] Make platform_utils compatible for Python3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On Python 3 several imports are to be imported from different locations. Signed-off-by: Remy Böhmer Change-Id: I4f243d145f65e38f74743a742583cfc5c5d76deb Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/249610 Reviewed-by: Mike Frysinger --- platform_utils_win32.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/platform_utils_win32.py b/platform_utils_win32.py index e20755a4..8eb3d2c3 100644 --- a/platform_utils_win32.py +++ b/platform_utils_win32.py @@ -19,13 +19,18 @@ import errno from pyversion import is_python3 from ctypes import WinDLL, get_last_error, FormatError, WinError, addressof from ctypes import c_buffer -from ctypes.wintypes import BOOL, BOOLEAN, LPCWSTR, DWORD, HANDLE, POINTER, c_ubyte -from ctypes.wintypes import WCHAR, USHORT, LPVOID, Structure, Union, ULONG -from ctypes.wintypes import byref +from ctypes.wintypes import BOOL, BOOLEAN, LPCWSTR, DWORD, HANDLE +from ctypes.wintypes import WCHAR, USHORT, LPVOID, ULONG +if is_python3(): + from ctypes import c_ubyte, Structure, Union, byref + from ctypes.wintypes import LPDWORD +else: + # For legacy Python2 different imports are needed. + from ctypes.wintypes import POINTER, c_ubyte, Structure, Union, byref + LPDWORD = POINTER(DWORD) kernel32 = WinDLL('kernel32', use_last_error=True) -LPDWORD = POINTER(DWORD) UCHAR = c_ubyte # Win32 error codes