From db11db2facfb1d79d4af806b05036a05c85601d8 Mon Sep 17 00:00:00 2001 From: Luca Longinotti Date: Fri, 19 Jul 2013 10:33:09 +0200 Subject: [PATCH] Fix MATCH_ANY passing to native function. --- src/main/java/de/ailis/usb4java/libusb/LibUsb.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/ailis/usb4java/libusb/LibUsb.java b/src/main/java/de/ailis/usb4java/libusb/LibUsb.java index d90b542..df5a149 100644 --- a/src/main/java/de/ailis/usb4java/libusb/LibUsb.java +++ b/src/main/java/de/ailis/usb4java/libusb/LibUsb.java @@ -2622,9 +2622,15 @@ public final class LibUsb } // Mask the values for conversion to int in libusb API. - final int result = hotplugRegisterCallbackNative(context, events, - flags, (vendorId & 0xFFFF), (productId & 0xFFFF), - (deviceClass & 0xFF), callbackHandle, globalHotplugId); + final int result = hotplugRegisterCallbackNative( + context, events, flags, + (vendorId == LibUsb.HOTPLUG_MATCH_ANY) ? (LibUsb.HOTPLUG_MATCH_ANY) + : (vendorId & 0xFFFF), + (productId == LibUsb.HOTPLUG_MATCH_ANY) ? (LibUsb.HOTPLUG_MATCH_ANY) + : (productId & 0xFFFF), + (deviceClass == LibUsb.HOTPLUG_MATCH_ANY) ? (LibUsb.HOTPLUG_MATCH_ANY) + : (deviceClass & 0xFF), + callbackHandle, globalHotplugId); if (result == LibUsb.SUCCESS) {