]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/UefiMemoryLib/SetMem64Wrapper.c
DebugLib:
[mirror_edk2.git] / MdePkg / Library / UefiMemoryLib / SetMem64Wrapper.c
index dbf3b627827e50851975d61e5bd3d9fa7a4a6703..4a1eda80e8af733764e9ea0de18a41600eb91408 100644 (file)
@@ -32,7 +32,7 @@
   Value, and returns Buffer. Value is repeated every 64-bits in for Length\r
   bytes of Buffer.\r
 \r
-  If Buffer is NULL and Length > 0, then ASSERT().\r
+  If Length > 0 and Buffer is NULL, then ASSERT().\r
   If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
   If Buffer is not aligned on a 64-bit boundary, then ASSERT().\r
   If Length is not aligned on a 64-bit boundary, then ASSERT().\r
   @param  Length  Number of bytes in Buffer to fill.\r
   @param  Value   Value with which to fill Length bytes of Buffer.\r
 \r
-  @return Buffer\r
+  @return Buffer.\r
 \r
 **/\r
 VOID *\r
 EFIAPI\r
 SetMem64 (\r
-  OUT     VOID                      *Buffer,\r
-  IN      UINTN                     Length,\r
-  IN      UINT64                    Value\r
+  OUT VOID   *Buffer,\r
+  IN UINTN   Length,\r
+  IN UINT64  Value\r
   )\r
 {\r
-  ASSERT (Buffer != NULL);\r
-  ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
-  ASSERT ((((UINTN)Buffer) & 1) != 0);\r
-  ASSERT ((Length & 1) != 0);\r
-\r
-  if ((Length /= sizeof (Value)) == 0) {\r
+  if (Length == 0) {\r
     return Buffer;\r
   }\r
-  return InternalMemSetMem64 (Buffer, Length, Value);\r
+\r
+  ASSERT (Buffer != NULL);\r
+  ASSERT ((Length - 1) <= (MAX_ADDRESS - (UINTN)Buffer));\r
+  ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+  ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
+\r
+  return InternalMemSetMem64 (Buffer, Length / sizeof (Value), Value);\r
 }\r