Empty vendor string overrides knowndevs

ubd_devinfo_vp() is getting an empty string from its  usbd_get_string()
call on the vendor, instead of NULL.  This means usb_knowndevs in not
consulted.

Add lines between grabbing those char *s and the USBVERBOSE ifdef to
set vendor to NULL if it is the empty string (similarly for product).

This causes vendor to be filled-out, although the product name read
overrules usb_knowndevs (this appears to be a conscience decision made
by the NetBSD folks):

PR:		kern/56097
Submitted by:	Hal Burch <hburch@lumeta.com>
MFC after:	1 week
This commit is contained in:
MIHIRA Sanpei Yoshiro 2004-01-18 12:46:19 +00:00
parent 703981ae28
commit edac5229ae

View File

@ -257,6 +257,10 @@ usbd_devinfo_vp(usbd_device_handle dev, char *v, char *p, int usedev)
usbd_trim_spaces(vendor);
product = usbd_get_string(dev, udd->iProduct, p);
usbd_trim_spaces(product);
if (vendor && !*vendor)
vendor = NULL;
if (product && !*product)
product = NULL;
} else {
vendor = NULL;
product = NULL;