BaseMemoryLibSse2\r
BaseMemoryLibRepStr\r
PeiMemoryLib\r
- UefiMemoryLib\r
+ DxeMemoryLib\r
\r
**/\r
\r
#include "MemLibInternals.h"\r
\r
/**\r
- Set Buffer to Value for Size bytes.\r
+ Fills a target buffer with a byte value, and returns the target buffer.\r
\r
This function fills Length bytes of Buffer with Value, and returns Buffer.\r
+ If Length is greater than (MAX_ADDRESS \96 Buffer + 1), then ASSERT(). \r
\r
- If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
+ @param Buffer Memory to set.\r
+ @param Length Number of bytes to set.\r
+ @param Value Value of the set operation.\r
\r
- @param Buffer Memory to set.\r
- @param Size Number of bytes to set\r
- @param Value Value of the set operation.\r
-\r
- @return Buffer\r
+ @return Buffer.\r
\r
**/\r
VOID *\r
EFIAPI\r
SetMem (\r
- IN VOID *Buffer,\r
- IN UINTN Size,\r
- IN UINT8 Value\r
+ OUT VOID *Buffer,\r
+ IN UINTN Length,\r
+ IN UINT8 Value\r
)\r
{\r
- ASSERT (Size <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- return InternalMemSetMem (Buffer, Size, Value);\r
+ if (Length == 0) {\r
+ return Buffer;\r
+ }\r
+\r
+ ASSERT ((Length - 1) <= (MAX_ADDRESS - (UINTN)Buffer));\r
+\r
+ return InternalMemSetMem (Buffer, Length, Value);\r
}\r