diff options
author | Edgar Fuß <ef@math.uni-bonn.de> | 2023-01-17 16:56:42 +0100 |
---|---|---|
committer | Tormod Volden <debian.tormod@gmail.com> | 2023-01-20 11:05:01 +0100 |
commit | b1445d91462234acd2a2371d7e5850beed5f3bc8 (patch) | |
tree | 31f285910a1cfb698e2a713ba37f2bbfe01ed575 | |
parent | 9e4bb9cbe59050d29f7662363c0a7bfc5cf35550 (diff) | |
download | libusb-b1445d91462234acd2a2371d7e5850beed5f3bc8.tar.gz |
netbsd: Map NetBSD's udi_bus/udi_addr to libusb's 1-based API
NetBSD's udi_bus/udi_addr values in struct usb_device_info start from 0.
However, libusb's bus_number/device_address in struct libusb_device use
0 to represent a missing value and the libusb API states that a value of
0 returned by libusb_get_bus_number() or libusb_get_device_address()
means "not available" so applications may refuse to match on zero
values.
Adjust between the two worlds by adding an offset of 1.
Closes #1230
-rw-r--r-- | libusb/os/netbsd_usb.c | 4 | ||||
-rw-r--r-- | libusb/version_nano.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/libusb/os/netbsd_usb.c b/libusb/os/netbsd_usb.c index 461fea7..6b55522 100644 --- a/libusb/os/netbsd_usb.c +++ b/libusb/os/netbsd_usb.c @@ -146,8 +146,8 @@ netbsd_get_device_list(struct libusb_context * ctx, if (dev == NULL) return (LIBUSB_ERROR_NO_MEM); - dev->bus_number = di.udi_bus; - dev->device_address = di.udi_addr; + dev->bus_number = 1 + di.udi_bus; + dev->device_address = 1 + di.udi_addr; dev->speed = di.udi_speed; /* NetBSD #define's happen to match libusb enum */ dpriv = usbi_get_device_priv(dev); diff --git a/libusb/version_nano.h b/libusb/version_nano.h index 1874d60..15fdcc8 100644 --- a/libusb/version_nano.h +++ b/libusb/version_nano.h @@ -1 +1 @@ -#define LIBUSB_NANO 11771 +#define LIBUSB_NANO 11772 |