]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Support.c
1. Enable Network stack to pass SCT, currently MNP, ARP, IP4, TCP4 and DHCP4 have...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Mtftp4Dxe / Mtftp4Support.c
index af61c0bf6978266a92b9175454f68bf093dffa50..903494ecb732fab970c0c48435bb1de5628888ed 100644 (file)
@@ -229,7 +229,7 @@ Mtftp4RemoveBlockNum (
       if (Range->End == Num) {\r
         Range->End--;\r
       } else {\r
-        NewRange = Mtftp4AllocateRange (Num + 1, (UINT16) Range->End);\r
+        NewRange = Mtftp4AllocateRange ((UINT16) (Num + 1), (UINT16) Range->End);\r
 \r
         if (NewRange == NULL) {\r
           return EFI_OUT_OF_RESOURCES;\r
@@ -270,6 +270,8 @@ Mtftp4SendRequest (
   UINT8                     *Cur;\r
   UINT32                    Len;\r
   UINTN                     Index;\r
+  UINT32                    Len1;\r
+  UINT32                    Len2;\r
 \r
   Token   = Instance->Token;\r
   Options = Token->OptionList;\r
@@ -282,11 +284,14 @@ Mtftp4SendRequest (
   //\r
   // Compute the packet length\r
   //\r
-  Len = (UINT32) (AsciiStrLen (Token->Filename) + AsciiStrLen (Mode) + 4);\r
+  Len1 = (UINT32) AsciiStrLen ((CHAR8 *) Token->Filename);\r
+  Len2 = (UINT32) AsciiStrLen ((CHAR8 *) Mode);\r
+  Len  = (Len1 + Len2 + 4);\r
 \r
   for (Index = 0; Index < Token->OptionCount; Index++) {\r
-    Len += (UINT32) (AsciiStrLen (Options[Index].OptionStr) +\r
-                     AsciiStrLen (Options[Index].ValueStr) + 2);\r
+    Len1 = (UINT32) AsciiStrLen ((CHAR8 *) Options[Index].OptionStr);\r
+    Len2 = (UINT32) AsciiStrLen ((CHAR8 *) Options[Index].ValueStr);\r
+    Len += Len1 + Len2 + 2;\r
   }\r
 \r
   //\r
@@ -299,12 +304,12 @@ Mtftp4SendRequest (
   Packet         = (EFI_MTFTP4_PACKET *) NetbufAllocSpace (Nbuf, Len, FALSE);\r
   Packet->OpCode = HTONS (Instance->Operation);\r
   Cur            = Packet->Rrq.Filename;\r
-  Cur            = AsciiStrCpy (Cur, Token->Filename);\r
-  Cur            = AsciiStrCpy (Cur, Mode);\r
+  Cur            = (UINT8 *) AsciiStrCpy ((CHAR8 *) Cur, (CHAR8 *) Token->Filename);\r
+  Cur            = (UINT8 *) AsciiStrCpy ((CHAR8 *) Cur, (CHAR8 *) Mode);\r
 \r
   for (Index = 0; Index < Token->OptionCount; ++Index) {\r
-    Cur = AsciiStrCpy (Cur, Options[Index].OptionStr);\r
-    Cur = AsciiStrCpy (Cur, Options[Index].ValueStr);\r
+    Cur = (UINT8 *) AsciiStrCpy ((CHAR8 *) Cur, (CHAR8 *) Options[Index].OptionStr);\r
+    Cur = (UINT8 *) AsciiStrCpy ((CHAR8 *) Cur, (CHAR8 *) Options[Index].ValueStr);\r
   }\r
 \r
   return Mtftp4SendPacket (Instance, Nbuf);\r
@@ -333,7 +338,7 @@ Mtftp4SendError (
   EFI_MTFTP4_PACKET         *TftpError;\r
   UINT32                    Len;\r
 \r
-  Len     = (UINT32) (AsciiStrLen (ErrInfo) + sizeof (EFI_MTFTP4_ERROR_HEADER));\r
+  Len     = (UINT32) (AsciiStrLen ((CHAR8 *) ErrInfo) + sizeof (EFI_MTFTP4_ERROR_HEADER));\r
   Packet  = NetbufAlloc (Len);\r
 \r
   if (Packet == NULL) {\r
@@ -344,7 +349,7 @@ Mtftp4SendError (
   TftpError->OpCode = HTONS (EFI_MTFTP4_OPCODE_ERROR);\r
   TftpError->Error.ErrorCode = HTONS (ErrCode);\r
 \r
-  AsciiStrCpy (TftpError->Error.ErrorMessage, ErrInfo);\r
+  AsciiStrCpy ((CHAR8 *) TftpError->Error.ErrorMessage, (CHAR8 *) ErrInfo);\r
 \r
   return Mtftp4SendPacket (Instance, Packet);\r
 }\r
@@ -419,6 +424,7 @@ Mtftp4SendPacket (
   UDP_POINTS                UdpPoint;\r
   EFI_STATUS                Status;\r
   UINT16                    OpCode;\r
+  UINT16                    Value;\r
 \r
   //\r
   // Save the packet for retransmission\r
@@ -440,7 +446,8 @@ Mtftp4SendPacket (
   // Send the requests to the listening port, other packets\r
   // to the connected port\r
   //\r
-  OpCode = NTOHS (*((UINT16 *) NetbufGetByte (Packet, 0, NULL)));\r
+  Value = *((UINT16 *) NetbufGetByte (Packet, 0, NULL));\r
+  OpCode = NTOHS (Value);\r
 \r
   if ((OpCode == EFI_MTFTP4_OPCODE_RRQ) || (OpCode == EFI_MTFTP4_OPCODE_DIR) ||\r
       (OpCode == EFI_MTFTP4_OPCODE_WRQ)) {\r
@@ -485,6 +492,7 @@ Mtftp4Retransmit (
   UDP_POINTS                UdpPoint;\r
   EFI_STATUS                Status;\r
   UINT16                    OpCode;\r
+  UINT16                    Value;\r
 \r
   ASSERT (Instance->LastPacket != NULL);\r
 \r
@@ -495,7 +503,8 @@ Mtftp4Retransmit (
   //\r
   // Set the requests to the listening port, other packets to the connected port\r
   //\r
-  OpCode = NTOHS (*(UINT16 *) NetbufGetByte (Instance->LastPacket, 0, NULL));\r
+  Value = *(UINT16 *) NetbufGetByte (Instance->LastPacket, 0, NULL);\r
+  OpCode = NTOHS (Value);\r
 \r
   if ((OpCode == EFI_MTFTP4_OPCODE_RRQ) || (OpCode == EFI_MTFTP4_OPCODE_DIR) ||\r
       (OpCode == EFI_MTFTP4_OPCODE_WRQ)) {\r