On Tuesday 22 September 2009 17:40:48 Hans Petter Selasky wrote: > 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. >
s/string/interface/ > --HPS _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "[email protected]"
