diff options
author | hjelmn <Nathan Hjelm hjelmn@cs.unm.edu> | 2013-07-29 10:11:33 -0600 |
---|---|---|
committer | hjelmn <Nathan Hjelm hjelmn@cs.unm.edu> | 2013-07-30 09:10:48 -0600 |
commit | 252e193d9a910389baf9aa0736551f388c43e95c (patch) | |
tree | 91862ad6f1fbe06c245fa926cbae43e0b1f30fdb | |
parent | 67f0c1f100c3ab6b84fa026a47c00e0be147eb8f (diff) | |
download | android_external_libusbx-252e193d9a910389baf9aa0736551f388c43e95c.tar.gz android_external_libusbx-252e193d9a910389baf9aa0736551f388c43e95c.tar.bz2 android_external_libusbx-252e193d9a910389baf9aa0736551f388c43e95c.zip |
fix warnings in linux_get_device_address
Warnings:
os/linux_usbfs.c: In function 'linux_get_device_address':
os/linux_usbfs.c:620: warning: comparison is always false due to limited range of data type
os/linux_usbfs.c:624: warning: comparison is always false due to limited range of data type
os/linux_usbfs.c:628: warning: comparison is always false due to limited range of data type
os/linux_usbfs.c:628: warning: comparison is always false due to limited range of data type
-rw-r--r-- | libusb/os/linux_usbfs.c | 24 | ||||
-rw-r--r-- | libusb/version_nano.h | 2 |
2 files changed, 17 insertions, 9 deletions
diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c index 09288af..9912d65 100644 --- a/libusb/os/linux_usbfs.c +++ b/libusb/os/linux_usbfs.c @@ -1,3 +1,4 @@ +/* -*- Mode: C; c-basic-offset:8 ; indent-tabs-mode:t -*- */ /* * Linux usbfs backend for libusbx * Copyright © 2007-2009 Daniel Drake <dsd@gentoo.org> @@ -596,6 +597,8 @@ int linux_get_device_address (struct libusb_context *ctx, int detached, uint8_t *busnum, uint8_t *devaddr,const char *dev_node, const char *sys_name) { + int sysfs_attr; + usbi_dbg("getting address for device: %s detached: %d", sys_name, detached); /* can't use sysfs to read the bus and device number if the * device has been detached */ @@ -616,17 +619,22 @@ int linux_get_device_address (struct libusb_context *ctx, int detached, usbi_dbg("scan %s", sys_name); - *busnum = __read_sysfs_attr(ctx, sys_name, "busnum"); - if (0 > *busnum) - return *busnum; + sysfs_attr = __read_sysfs_attr(ctx, sys_name, "busnum"); + if (0 > sysfs_attr) + return sysfs_attr; + if (sysfs_attr > 255) + return LIBUSB_ERROR_INVALID_PARAM; + *busnum = (uint8_t) sysfs_attr; - *devaddr = __read_sysfs_attr(ctx, sys_name, "devnum"); - if (0 > *devaddr) - return *devaddr; + sysfs_attr = __read_sysfs_attr(ctx, sys_name, "devnum"); + if (0 > sysfs_attr) + return sysfs_attr; + if (sysfs_attr > 255) + return LIBUSB_ERROR_INVALID_PARAM; + + *devaddr = (uint8_t) sysfs_attr; usbi_dbg("bus=%d dev=%d", *busnum, *devaddr); - if (*busnum > 255 || *devaddr > 255) - return LIBUSB_ERROR_INVALID_PARAM; return LIBUSB_SUCCESS; } diff --git a/libusb/version_nano.h b/libusb/version_nano.h index d3ce940..fc3efff 100644 --- a/libusb/version_nano.h +++ b/libusb/version_nano.h @@ -1 +1 @@ -#define LIBUSB_NANO 10779 +#define LIBUSB_NANO 10780 |