]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/PeiMemoryLib/SetMem32Wrapper.c
• BaseMemoryLib:
[mirror_edk2.git] / MdePkg / Library / PeiMemoryLib / SetMem32Wrapper.c
index 1ae7acb0132bf8bad4c1e8f2e638603b344f896e..425840682d2ca589f0a0997be54e938073c1ac60 100644 (file)
@@ -32,7 +32,7 @@
   Value, and returns Buffer. Value is repeated every 32-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 32-bit boundary, then ASSERT().\r
   If Length is not aligned on a 32-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
 SetMem32 (\r
-  OUT     VOID                      *Buffer,\r
-  IN      UINTN                     Length,\r
-  IN      UINT32                    Value\r
+  OUT VOID   *Buffer,\r
+  IN UINTN   Length,\r
+  IN UINT32  Value\r
   )\r
 {\r
-  ASSERT (!(Buffer == NULL && Length > 0));\r
-  ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
+  if (Length == 0) {\r
+    return Buffer;\r
+  }\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
-  if ((Length /= sizeof (Value)) == 0) {\r
-    return Buffer;\r
-  }\r
-  return InternalMemSetMem32 (Buffer, Length, Value);\r
+  return InternalMemSetMem32 (Buffer, Length / sizeof (Value), Value);\r
 }\r