libusb20 api
Hans Petter Selasky
hselasky at c2i.net
Tue Sep 22 15:40:14 UTC 2009
On Tuesday 22 September 2009 00:38:46 Trevor Blackwell wrote:
> This always fails:
>
> char devname[256];
> if (libusb20_dev_get_iface_desc(pdev, n, devname,
> sizeof(devname))) break;
>
> while this works:
>
> char devname[128];
> if (libusb20_dev_get_iface_desc(pdev, n, devname,
> sizeof(devname))) break;
>
> Because this function takes a uint8_t for length:
>
> <libusb20_ugen20.c:851>:
> static int
> ugen20_dev_get_iface_desc(struct libusb20_device *pdev,
> uint8_t iface_index, char *buf, uint8_t len)
>
> even though the kernel ioctl structure has a 16-bit length.
>
> Hans, why not just use size_t for such arguments?
Your point is valid. Currently USB string descriptors are always limited to
255 bytes. Setting up a larger buffer does not make sense.
I will see what I can do.
--HPS
More information about the freebsd-usb
mailing list