X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/f201f6697b7f99b63389509b42112026b8f6f76f..0da99447d3e88e83f9977501bee56af5c7aa56c0:/LUFA/Drivers/USB/Class/Common/HIDParser.c diff --git a/LUFA/Drivers/USB/Class/Common/HIDParser.c b/LUFA/Drivers/USB/Class/Common/HIDParser.c index 24b284c1d..4447e8a0b 100644 --- a/LUFA/Drivers/USB/Class/Common/HIDParser.c +++ b/LUFA/Drivers/USB/Class/Common/HIDParser.c @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2011. + Copyright (C) Dean Camera, 2012. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -61,17 +61,18 @@ uint8_t USB_ProcessHIDReport(const uint8_t* ReportData, switch (HIDReportItem & HID_RI_DATA_SIZE_MASK) { case HID_RI_DATA_BITS_32: - ReportItemData = le32_to_cpu(*((uint32_t*)ReportData)); + ReportItemData = (((uint32_t)ReportData[3] << 24) | ((uint32_t)ReportData[2] << 16) | + ((uint16_t)ReportData[1] << 8) | ReportData[0]); ReportSize -= 4; ReportData += 4; break; case HID_RI_DATA_BITS_16: - ReportItemData = le16_to_cpu(*((uint16_t*)ReportData)); + ReportItemData = (((uint16_t)ReportData[1] << 8) | (ReportData[0])); ReportSize -= 2; ReportData += 2; break; case HID_RI_DATA_BITS_8: - ReportItemData = *((uint8_t*)ReportData); + ReportItemData = ReportData[0]; ReportSize -= 1; ReportData += 1; break;