diff options
| author | Dean Camera <[email protected]> | 2010-07-15 10:34:29 +0000 | 
|---|---|---|
| committer | Dean Camera <[email protected]> | 2010-07-15 10:34:29 +0000 | 
| commit | 40631e9fe5f0782c1fbc3019904d1298ac365cd1 (patch) | |
| tree | 947c29ca6189a7943446b476e204ca17591d65e9 /Projects/Incomplete/StandaloneProgrammer/Lib | |
| parent | e2e1fe5aad50809f00f6f5258432bd7aa605f47c (diff) | |
| download | qmk_firmware-40631e9fe5f0782c1fbc3019904d1298ac365cd1.tar.gz qmk_firmware-40631e9fe5f0782c1fbc3019904d1298ac365cd1.zip | |
Fix pointer aliasing warning in the Mass Storage demos.
Diffstat (limited to 'Projects/Incomplete/StandaloneProgrammer/Lib')
| -rw-r--r-- | Projects/Incomplete/StandaloneProgrammer/Lib/SCSI.c | 5 | 
1 files changed, 2 insertions, 3 deletions
| diff --git a/Projects/Incomplete/StandaloneProgrammer/Lib/SCSI.c b/Projects/Incomplete/StandaloneProgrammer/Lib/SCSI.c index 21dfbfa8f5..c1b106cea5 100644 --- a/Projects/Incomplete/StandaloneProgrammer/Lib/SCSI.c +++ b/Projects/Incomplete/StandaloneProgrammer/Lib/SCSI.c @@ -139,8 +139,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)   */  static void SCSI_Command_Inquiry(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)  { -	uint16_t AllocationLength  = (((uint16_t)MSInterfaceInfo->State.CommandBlock.SCSICommandData[3] << 8) | -	                                         MSInterfaceInfo->State.CommandBlock.SCSICommandData[4]); +	uint16_t AllocationLength  = SwapEndian_16(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[3]);  	uint16_t BytesTransferred  = (AllocationLength < sizeof(InquiryData))? AllocationLength :  	                                                                       sizeof(InquiryData); @@ -258,7 +257,7 @@ static void SCSI_Command_ReadWrite_10(USB_ClassInfo_MS_Device_t* const MSInterfa  	BlockAddress = SwapEndian_32(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[2]);  	/* Load in the 16-bit total blocks (SCSI uses big-endian, so have to reverse the byte order) */ -	TotalBlocks  = SwapEndian_16(*(uint16_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[7]); +	TotalBlocks  = SwapEndian_16(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[7]);  	/* Check if the block address is outside the maximum allowable value for the LUN */  	if (BlockAddress >= VIRTUAL_MEMORY_BLOCKS) | 
