From 4068efbd1898058854f9ca5a967bc5ad5a851759 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Mon, 20 Feb 2012 18:47:25 +0000 Subject: Remove potentially unaligned uint32_t access in HIDParser.c, replace with standard C bit shifts. --- LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c | 2 +- LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.h | 12 ++---------- LUFA/Drivers/USB/Class/Host/PrinterClassHost.c | 2 +- LUFA/Drivers/USB/Class/Host/PrinterClassHost.h | 2 +- 4 files changed, 5 insertions(+), 13 deletions(-) (limited to 'LUFA/Drivers/USB/Class/Host') diff --git a/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c b/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c index cc7058937..eb4c2530d 100644 --- a/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c +++ b/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.c @@ -233,7 +233,7 @@ static uint8_t AOA_Host_GetAccessoryProtocol(uint16_t* const Protocol) static uint8_t AOA_Host_SendPropertyString(USB_ClassInfo_AOA_Host_t* const AOAInterfaceInfo, const uint8_t StringIndex) { - const char* String = ((char**)&AOAInterfaceInfo->Config.PropertyStrings)[StringIndex]; + const char* String = AOAInterfaceInfo->Config.PropertyStrings[StringIndex]; if (String == NULL) String = ""; diff --git a/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.h b/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.h index d98134281..58bd98fe8 100644 --- a/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.h +++ b/LUFA/Drivers/USB/Class/Host/AndroidAccessoryClassHost.h @@ -91,16 +91,8 @@ uint8_t DataOUTPipeNumber; /**< Pipe number of the AOA interface's OUT data pipe. */ bool DataOUTPipeDoubleBank; /**< Indicates if the AOA interface's OUT data pipe should use double banking. */ - struct - { - char* Manufacturer; /**< Device manufacturer string. */ - char* Model; /**< Device model name string. */ - char* Description; /**< Device description string. */ - char* Version; /**< Device version string. */ - char* URI; /**< Device URI information string. */ - char* Serial; /**< Device serial number string. */ - } ATTR_PACKED PropertyStrings; /**< Android Accessory property strings, sent to identify the accessory when the - * Android device is switched into Open Accessory mode. */ + char* PropertyStrings[AOA_STRING_TOTAL_STRINGS]; /**< Android Accessory property strings, sent to identify the accessory when the + * Android device is switched into Open Accessory mode. */ } Config; /**< Config data for the USB class interface within the device. All elements in this section * must be set or the interface will fail to enumerate and operate correctly. */ diff --git a/LUFA/Drivers/USB/Class/Host/PrinterClassHost.c b/LUFA/Drivers/USB/Class/Host/PrinterClassHost.c index 2d3499110..379ccb01c 100644 --- a/LUFA/Drivers/USB/Class/Host/PrinterClassHost.c +++ b/LUFA/Drivers/USB/Class/Host/PrinterClassHost.c @@ -278,7 +278,7 @@ uint8_t PRNT_Host_SendByte(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo, } uint8_t PRNT_Host_SendString(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo, - void* String) + const char* const String) { uint8_t ErrorCode; diff --git a/LUFA/Drivers/USB/Class/Host/PrinterClassHost.h b/LUFA/Drivers/USB/Class/Host/PrinterClassHost.h index 4d9baf0fa..c8c997f74 100644 --- a/LUFA/Drivers/USB/Class/Host/PrinterClassHost.h +++ b/LUFA/Drivers/USB/Class/Host/PrinterClassHost.h @@ -190,7 +190,7 @@ * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum. */ uint8_t PRNT_Host_SendString(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo, - void* String) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2); + const char* const String) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2); /** Sends the given raw data stream to the attached printer's input endpoint. This should contain commands that the * printer is able to understand - for example, PCL data. Not all printers accept all printer languages; see -- cgit v1.2.3