From 8ea76ba116caae4b70c50db926c6267e7679e837 Mon Sep 17 00:00:00 2001 From: Ozkan Sezer 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 13e59c3772..b3074c0c9d 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) {