diff options
author | Daniel Drake <dsd@gentoo.org> | 2009-02-16 21:20:28 -0300 |
---|---|---|
committer | Daniel Drake <dsd@gentoo.org> | 2009-02-16 21:20:28 -0300 |
commit | e91207860cac09b3afaafc4c14221b78d585c59a (patch) | |
tree | 3ec01dd82fd4a19bfe5fe7e66a827668bdf28a27 | |
parent | ccf6d3d2f6acf9b9a1cb5e1f1b03f382ae509b17 (diff) | |
download | libusb-e91207860cac09b3afaafc4c14221b78d585c59a.tar.gz |
Fix endianness in device descriptors
Pointed out by Nathan Hjelm.
-rw-r--r-- | libusb/descriptor.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libusb/descriptor.c b/libusb/descriptor.c index ce0b661..baff1b0 100644 --- a/libusb/descriptor.c +++ b/libusb/descriptor.c @@ -442,11 +442,11 @@ API_EXPORTED int libusb_get_device_descriptor(libusb_device *dev, return r; memcpy((unsigned char *) desc, raw_desc, sizeof(raw_desc)); - if (host_endian) { - desc->bcdUSB = libusb_cpu_to_le16(desc->bcdUSB); - desc->idVendor = libusb_cpu_to_le16(desc->idVendor); - desc->idProduct = libusb_cpu_to_le16(desc->idProduct); - desc->bcdDevice = libusb_cpu_to_le16(desc->bcdDevice); + if (!host_endian) { + desc->bcdUSB = libusb_le16_to_cpu(desc->bcdUSB); + desc->idVendor = libusb_le16_to_cpu(desc->idVendor); + desc->idProduct = libusb_le16_to_cpu(desc->idProduct); + desc->bcdDevice = libusb_le16_to_cpu(desc->bcdDevice); } return 0; } |