From 8ea76ba116caae4b70c50db926c6267e7679e837 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Sat, 27 May 2023 18:40:56 +0300
Subject: [PATCH] move diagnostic pragma out of the function for old gcc
versions.
---
src/hidapi/windows/hid.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/hidapi/windows/hid.c b/src/hidapi/windows/hid.c
index 13e59c377286..b3074c0c9d74 100644
--- a/src/hidapi/windows/hid.c
+++ b/src/hidapi/windows/hid.c
@@ -1375,17 +1375,14 @@ int HID_API_EXPORT HID_API_CALL hid_get_input_report(hid_device *dev, unsigned c
return hid_get_report(dev, IOCTL_HID_GET_INPUT_REPORT, data, length);
}
-void HID_API_EXPORT HID_API_CALL hid_close(hid_device *dev)
-{
#if defined(__GNUC__)
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wcast-function-type"
#endif
+void HID_API_EXPORT HID_API_CALL hid_close(hid_device *dev)
+{
typedef BOOL (WINAPI *CancelIoEx_t)(HANDLE hFile, LPOVERLAPPED lpOverlapped);
CancelIoEx_t CancelIoExFunc = (CancelIoEx_t)GetProcAddress(GetModuleHandle(TEXT("kernel32.dll")), "CancelIoEx");
-#if defined(__GNUC__)
-# pragma GCC diagnostic pop
-#endif
if (!dev)
return;
@@ -1398,11 +1395,13 @@ void HID_API_EXPORT HID_API_CALL hid_close(hid_device *dev)
}
if (dev->read_pending) {
DWORD bytes_read = 0;
-
GetOverlappedResult(dev->device_handle, &dev->ol, &bytes_read, TRUE/*wait*/);
}
free_hid_device(dev);
}
+#if defined(__GNUC__)
+# pragma GCC diagnostic pop
+#endif
int HID_API_EXPORT_CALL HID_API_CALL hid_get_manufacturer_string(hid_device *dev, wchar_t *string, size_t maxlen)
{