PERFORCE change 161423 for review
    Hans Petter Selasky 
    hselasky at c2i.net
       
    Fri May  1 10:21:38 UTC 2009
    
    
  
>  int
>  libusb_get_string_descriptor_ascii(libusb_device_handle * dev,
>      uint8_t desc_index, unsigned char *data, int length)
> @@ -207,6 +208,8 @@
>  		return (LIBUSB20_ERROR_NO_MEM);
>
>  	pdev = dev->os_priv;
> -	return (libusb20_dev_req_string_simple_sync(pdev, desc_index,
> -	    data, length));
> +	if (libusb20_dev_req_string_simple_sync(pdev, desc_index,
> +	    data, length) == 0)
> +		return (length);
> +	return (LIBUSB_ERROR_OTHER);
>  }
I think the correct here is to return strlen(data) in the successful case, 
because it is quite common that the software will pass in a fixed size 
buffer, while the actual string will be shorter.
In other words you will get a short terminated control request on the USB.
--HPS
    
    
More information about the p4-projects
mailing list