Use locally defined MIN macro instead of min which is (possibly) defined in windows.h
authorTim Hutt <tdhutt@gmail.com>
Wed, 3 Jun 2015 14:01:06 +0000 (15:01 +0100)
committerChris Dickens <christopher.a.dickens@gmail.com>
Wed, 29 Jul 2015 06:31:42 +0000 (23:31 -0700)
Some users have to define NOMINMAX which means that windows.h doesn't define min() or max(). Instead of relying on it it is better to use a locally defined function / macro. Fortunately libusbi.h already defines MIN and MAX so we can just use those.

* Closes #72
* Closes #73

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
libusb/os/windows_common.h
libusb/os/windows_usb.c
libusb/version_nano.h

index fe95d79..466f31d 100644 (file)
@@ -39,7 +39,7 @@
 
 #define safe_free(p) do {if (p != NULL) {free((void*)p); p = NULL;}} while(0)
 #define safe_closehandle(h) do {if (h != INVALID_HANDLE_VALUE) {CloseHandle(h); h = INVALID_HANDLE_VALUE;}} while(0)
-#define safe_min(a, b) min((size_t)(a), (size_t)(b))
+#define safe_min(a, b) MIN((size_t)(a), (size_t)(b))
 #define safe_strcp(dst, dst_max, src, count) do {memcpy(dst, src, safe_min(count, dst_max)); \
        ((char*)dst)[safe_min(count, dst_max)-1] = 0;} while(0)
 #define safe_strcpy(dst, dst_max, src) safe_strcp(dst, dst_max, src, safe_strlen(src)+1)
index f505139..56c2ef9 100644 (file)
@@ -1931,7 +1931,7 @@ static int windows_get_config_descriptor(struct libusb_device *dev, uint8_t conf
 
        config_header = (PUSB_CONFIGURATION_DESCRIPTOR)priv->config_descriptor[config_index];
 
-       size = min(config_header->wTotalLength, len);
+       size = MIN(config_header->wTotalLength, len);
        memcpy(buffer, priv->config_descriptor[config_index], size);
        *host_endian = 0;
 
index 248dd43..97cf890 100644 (file)
@@ -1 +1 @@
-#define LIBUSB_NANO 10988
+#define LIBUSB_NANO 10989