From 54e69dbee146182a60c258076b8d26e8f5ac752a Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Wed, 26 May 2010 12:24:44 +0000
Subject: [PATCH] Switch to using the correct intptr_t type use where a pointer
 must be cast to an integer type.

---
 Bootloaders/CDC/BootloaderCDC.c                   | 8 ++++----
 Demos/Device/ClassDriver/RNDISEthernet/Lib/DHCP.c | 2 +-
 Demos/Device/ClassDriver/RNDISEthernet/Lib/ICMP.c | 8 ++++----
 Demos/Device/LowLevel/RNDISEthernet/Lib/DHCP.c    | 2 +-
 Demos/Device/LowLevel/RNDISEthernet/Lib/ICMP.c    | 8 ++++----
 5 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/Bootloaders/CDC/BootloaderCDC.c b/Bootloaders/CDC/BootloaderCDC.c
index b2a278ed7..0b2eb810b 100644
--- a/Bootloaders/CDC/BootloaderCDC.c
+++ b/Bootloaders/CDC/BootloaderCDC.c
@@ -233,7 +233,7 @@ static void ReadWriteMemoryBlock(const uint8_t Command)
 			else
 			{
 				/* Read the next EEPROM byte into the endpoint */
-				WriteNextResponseByte(eeprom_read_byte((uint8_t*)(uint16_t)(CurrAddress >> 1)));
+				WriteNextResponseByte(eeprom_read_byte((uint8_t*)(intptr_t)(CurrAddress >> 1)));
 
 				/* Increment the address counter after use */
 				CurrAddress += 2;
@@ -275,7 +275,7 @@ static void ReadWriteMemoryBlock(const uint8_t Command)
 			else
 			{
 				/* Write the next EEPROM byte from the endpoint */
-				eeprom_write_byte((uint8_t*)(uint16_t)(CurrAddress >> 1), FetchNextCommandByte());					
+				eeprom_write_byte((uint8_t*)((intptr_t)(CurrAddress >> 1)), FetchNextCommandByte());					
 
 				/* Increment the address counter after use */
 				CurrAddress += 2;
@@ -513,7 +513,7 @@ void CDC_Task(void)
 		else if (Command == 'D')
 		{
 			/* Read the byte from the endpoint and write it to the EEPROM */
-			eeprom_write_byte((uint8_t*)((uint16_t)(CurrAddress >> 1)), FetchNextCommandByte());
+			eeprom_write_byte((uint8_t*)((intptr_t)(CurrAddress >> 1)), FetchNextCommandByte());
 			
 			/* Increment the address after use */			
 			CurrAddress += 2;
@@ -524,7 +524,7 @@ void CDC_Task(void)
 		else if (Command == 'd')
 		{
 			/* Read the EEPROM byte and write it to the endpoint */
-			WriteNextResponseByte(eeprom_read_byte((uint8_t*)((uint16_t)(CurrAddress >> 1))));
+			WriteNextResponseByte(eeprom_read_byte((uint8_t*)((intptr_t)(CurrAddress >> 1))));
 
 			/* Increment the address after use */
 			CurrAddress += 2;
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Lib/DHCP.c b/Demos/Device/ClassDriver/RNDISEthernet/Lib/DHCP.c
index e6377af52..761c6adf1 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Lib/DHCP.c
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Lib/DHCP.c
@@ -69,7 +69,7 @@ int16_t DHCP_ProcessDHCPPacket(void* IPHeaderInStart, void* DHCPHeaderInStart, v
 	DHCPHeaderOUT->ElapsedSeconds        = 0;
 	DHCPHeaderOUT->Flags                 = DHCPHeaderIN->Flags;
 	DHCPHeaderOUT->YourIP                = ClientIPAddress;
-	memcpy(&DHCPHeaderOUT->ClientHardwareAddress, &DHCPHeaderIN->ClientHardwareAddress, sizeof(MAC_Address_t));
+	memmove(&DHCPHeaderOUT->ClientHardwareAddress, &DHCPHeaderIN->ClientHardwareAddress, sizeof(MAC_Address_t));
 	DHCPHeaderOUT->Cookie                = SwapEndian_32(DHCP_MAGIC_COOKIE);
 	
 	/* Alter the incoming IP packet header so that the corrected IP source and destinations are used - this means that
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Lib/ICMP.c b/Demos/Device/ClassDriver/RNDISEthernet/Lib/ICMP.c
index 2d8183746..fa1a651e6 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Lib/ICMP.c
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Lib/ICMP.c
@@ -63,12 +63,12 @@ int16_t ICMP_ProcessICMPPacket(Ethernet_Frame_Info_t* FrameIN, void* InDataStart
 		ICMPHeaderOUT->Id       = ICMPHeaderIN->Id;
 		ICMPHeaderOUT->Sequence = ICMPHeaderIN->Sequence;
 		
-		uint16_t DataSize = FrameIN->FrameLength - ((((uint16_t)InDataStart + sizeof(ICMP_Header_t)) - (uint16_t)FrameIN->FrameData));
+		intptr_t DataSize = FrameIN->FrameLength - ((((intptr_t)InDataStart + sizeof(ICMP_Header_t)) - (intptr_t)FrameIN->FrameData));
 		
 		/* Copy the remaining payload to the response - echo requests should echo back any sent data */
-		memcpy(&((uint8_t*)OutDataStart)[sizeof(ICMP_Header_t)],
-		       &((uint8_t*)InDataStart)[sizeof(ICMP_Header_t)],
-			   DataSize);
+		memmove(&((uint8_t*)OutDataStart)[sizeof(ICMP_Header_t)],
+		        &((uint8_t*)InDataStart)[sizeof(ICMP_Header_t)],
+			    DataSize);
 
 		ICMPHeaderOUT->Checksum = Ethernet_Checksum16(ICMPHeaderOUT, (DataSize + sizeof(ICMP_Header_t)));
 
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/DHCP.c b/Demos/Device/LowLevel/RNDISEthernet/Lib/DHCP.c
index d3bffe996..eeed88491 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/Lib/DHCP.c
+++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/DHCP.c
@@ -69,7 +69,7 @@ int16_t DHCP_ProcessDHCPPacket(void* IPHeaderInStart, void* DHCPHeaderInStart, v
 	DHCPHeaderOUT->ElapsedSeconds        = 0;
 	DHCPHeaderOUT->Flags                 = DHCPHeaderIN->Flags;
 	DHCPHeaderOUT->YourIP                = ClientIPAddress;
-	memcpy(&DHCPHeaderOUT->ClientHardwareAddress, &DHCPHeaderIN->ClientHardwareAddress, sizeof(MAC_Address_t));
+	memmove(&DHCPHeaderOUT->ClientHardwareAddress, &DHCPHeaderIN->ClientHardwareAddress, sizeof(MAC_Address_t));
 	DHCPHeaderOUT->Cookie                = SwapEndian_32(DHCP_MAGIC_COOKIE);
 	
 	/* Alter the incoming IP packet header so that the corrected IP source and destinations are used - this means that
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/ICMP.c b/Demos/Device/LowLevel/RNDISEthernet/Lib/ICMP.c
index 02a401f6a..a43ffca54 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/Lib/ICMP.c
+++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/ICMP.c
@@ -62,12 +62,12 @@ int16_t ICMP_ProcessICMPPacket(void* InDataStart, void* OutDataStart)
 		ICMPHeaderOUT->Id       = ICMPHeaderIN->Id;
 		ICMPHeaderOUT->Sequence = ICMPHeaderIN->Sequence;
 		
-		uint16_t DataSize = FrameIN.FrameLength - ((((uint16_t)InDataStart + sizeof(ICMP_Header_t)) - (uint16_t)FrameIN.FrameData));
+		intptr_t DataSize = FrameIN.FrameLength - ((((intptr_t)InDataStart + sizeof(ICMP_Header_t)) - (intptr_t)FrameIN.FrameData));
 		
 		/* Copy the remaining payload to the response - echo requests should echo back any sent data */
-		memcpy(&((uint8_t*)OutDataStart)[sizeof(ICMP_Header_t)],
-		       &((uint8_t*)InDataStart)[sizeof(ICMP_Header_t)],
-			   DataSize);
+		memmove(&((uint8_t*)OutDataStart)[sizeof(ICMP_Header_t)],
+		        &((uint8_t*)InDataStart)[sizeof(ICMP_Header_t)],
+			    DataSize);
 
 		ICMPHeaderOUT->Checksum = Ethernet_Checksum16(ICMPHeaderOUT, (DataSize + sizeof(ICMP_Header_t)));
 
-- 
GitLab