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 /libusb/os | |
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
Diffstat (limited to 'libusb/os')
-rw-r--r-- | libusb/os/netbsd_usb.c | 4 |
1 files changed, 2 insertions, 2 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); |