[Spice-devel] [PATCH 1/3] usb: use native libusb procedure for getting error name

Victor Toso victortoso at redhat.com
Thu Apr 11 09:35:50 UTC 2019


Hi,

On Wed, Apr 10, 2019 at 10:31:37PM +0300, Yuri Benditovich wrote:
> libusb has libusb_error_name procedure that returns name
> for any error that libusb may return, so we do not need
> to analyze error values by ourselves.
> 
> Signed-off-by: Yuri Benditovich <yuri.benditovich at daynix.com>

Before applying the series:

(master 15e06ead) $ grepi "spice_usbutil_libusb_strerror" src/
src/win-usb-dev.c:116:        const char *errstr = spice_usbutil_libusb_strerror(rc);
src/win-usb-dev.c:173:        const char *errstr = spice_usbutil_libusb_strerror(rc);
src/channel-usbredir.c:312: spice_usbutil_libusb_strerror(rc), rc);
src/usbutil.c:62:const char *spice_usbutil_libusb_strerror(enum libusb_error error_code)
src/usbutil.h:31:const char *spice_usbutil_libusb_strerror(enum libusb_error error_code);
src/usb-device-manager.c:284:        const char *desc = spice_usbutil_libusb_strerror(rc);
src/usb-device-manager.c:311:        const char *desc = spice_usbutil_libusb_strerror(rc);
src/usb-device-manager.c:733:        errstr = spice_usbutil_libusb_strerror(errcode);
src/usb-device-manager.c:1071:            const char *desc = spice_usbutil_libusb_strerror(rc);

After applying the series:
(yuri-usb-b-layers-v1 5f87d90d) $ grepi "spice_usbutil_libusb_strerror" src/
(yuri-usb-b-layers-v1 5f87d90d) $

So, I think it makes sense to use this patch to drop this
function and always use libusb_error_name() instead, agree?

I checked that all above have include <libusb.h>

I'll also be looking into your other patches but it might take
some time to get familiar with the changes :)

Cheers,

> ---
>  src/usbutil.c | 32 +-------------------------------
>  1 file changed, 1 insertion(+), 31 deletions(-)
> 
> diff --git a/src/usbutil.c b/src/usbutil.c
> index e96ab11..4aa6ef7 100644
> --- a/src/usbutil.c
> +++ b/src/usbutil.c
> @@ -61,37 +61,7 @@ static usb_vendor_info *usbids_vendor_info = NULL;
>  G_GNUC_INTERNAL
>  const char *spice_usbutil_libusb_strerror(enum libusb_error error_code)
>  {
> -    switch (error_code) {
> -    case LIBUSB_SUCCESS:
> -        return "Success";
> -    case LIBUSB_ERROR_IO:
> -        return "Input/output error";
> -    case LIBUSB_ERROR_INVALID_PARAM:
> -        return "Invalid parameter";
> -    case LIBUSB_ERROR_ACCESS:
> -        return "Access denied (insufficient permissions)";
> -    case LIBUSB_ERROR_NO_DEVICE:
> -        return "No such device (it may have been disconnected)";
> -    case LIBUSB_ERROR_NOT_FOUND:
> -        return "Entity not found";
> -    case LIBUSB_ERROR_BUSY:
> -        return "Resource busy";
> -    case LIBUSB_ERROR_TIMEOUT:
> -        return "Operation timed out";
> -    case LIBUSB_ERROR_OVERFLOW:
> -        return "Overflow";
> -    case LIBUSB_ERROR_PIPE:
> -        return "Pipe error";
> -    case LIBUSB_ERROR_INTERRUPTED:
> -        return "System call interrupted (perhaps due to signal)";
> -    case LIBUSB_ERROR_NO_MEM:
> -        return "Insufficient memory";
> -    case LIBUSB_ERROR_NOT_SUPPORTED:
> -        return "Operation not supported or unimplemented on this platform";
> -    case LIBUSB_ERROR_OTHER:
> -        return "Other error";
> -    }
> -    return "Unknown error";
> +    return libusb_error_name(error_code);
>  }
>  
>  #ifdef __linux__
> -- 
> 2.17.1
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20190411/dc5225e0/attachment.sig>


More information about the Spice-devel mailing list