mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-16 04:41:28 +00:00
Replace cast-as-char* byte access of multibyte variables with proper shifts and masks to preserve endianness across different architectures.
This commit is contained in:
parent
4b1f6cac75
commit
e0852408de
@ -279,8 +279,8 @@ void RNDIS_Device_ProcessRNDISControlMessage(USB_ClassInfo_RNDIS_Device_t* const
|
||||
RNDIS_Query_Complete_t* QUERY_Response = (RNDIS_Query_Complete_t*)&RNDISInterfaceInfo->State.RNDISMessageBuffer;
|
||||
uint32_t Query_Oid = QUERY_Message->Oid;
|
||||
|
||||
void* QueryData = &RNDISInterfaceInfo->State.RNDISMessageBuffer[sizeof(RNDIS_Message_Header_t) +
|
||||
QUERY_Message->InformationBufferOffset];
|
||||
void* QueryData = &RNDISInterfaceInfo->State.RNDISMessageBuffer[sizeof(RNDIS_Message_Header_t) +
|
||||
QUERY_Message->InformationBufferOffset];
|
||||
void* ResponseData = &RNDISInterfaceInfo->State.RNDISMessageBuffer[sizeof(RNDIS_Query_Complete_t)];
|
||||
uint16_t ResponseSize;
|
||||
|
||||
|
@ -43,9 +43,9 @@ static void TINYNVM_SendPointerAddress(const uint16_t AbsoluteAddress)
|
||||
{
|
||||
/* Send the given 16-bit address to the target, LSB first */
|
||||
XPROGTarget_SendByte(TPI_CMD_SSTPR | 0);
|
||||
XPROGTarget_SendByte(((uint8_t*)&AbsoluteAddress)[0]);
|
||||
XPROGTarget_SendByte(AbsoluteAddress & 0xFF);
|
||||
XPROGTarget_SendByte(TPI_CMD_SSTPR | 1);
|
||||
XPROGTarget_SendByte(((uint8_t*)&AbsoluteAddress)[1]);
|
||||
XPROGTarget_SendByte(AbsoluteAddress >> 8);
|
||||
}
|
||||
|
||||
/** Sends a SIN command to the target with the specified I/O address, ready for the data byte to be written.
|
||||
|
@ -45,10 +45,10 @@
|
||||
static void XMEGANVM_SendAddress(const uint32_t AbsoluteAddress)
|
||||
{
|
||||
/* Send the given 32-bit address to the target, LSB first */
|
||||
XPROGTarget_SendByte(((uint8_t*)&AbsoluteAddress)[0]);
|
||||
XPROGTarget_SendByte(((uint8_t*)&AbsoluteAddress)[1]);
|
||||
XPROGTarget_SendByte(((uint8_t*)&AbsoluteAddress)[2]);
|
||||
XPROGTarget_SendByte(((uint8_t*)&AbsoluteAddress)[3]);
|
||||
XPROGTarget_SendByte(AbsoluteAddress & 0xFF);
|
||||
XPROGTarget_SendByte(AbsoluteAddress >> 8);
|
||||
XPROGTarget_SendByte(AbsoluteAddress >> 16);
|
||||
XPROGTarget_SendByte(AbsoluteAddress >> 24);
|
||||
}
|
||||
|
||||
/** Sends the given NVM register address to the target.
|
||||
|
@ -166,7 +166,7 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK)
|
||||
if (NoteData[i].Pitch)
|
||||
{
|
||||
/* Use the top 8 bits of the table position as the sample table index */
|
||||
uint8_t TableIndex = ((uint8_t*)&NoteData[i].TablePosition)[3];
|
||||
uint8_t TableIndex = (NoteData[i].TablePosition >> 24);
|
||||
|
||||
/* Add the new tone sample to the accumulator and increment the table position */
|
||||
MixedSample += SineTable[TableIndex];
|
||||
|
Loading…
Reference in New Issue
Block a user