Safely use MDE StrSize(), instead of its own function calculating string size, because the IPF global pointer conversion issue has been solved.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2582 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
xli24 2007-04-26 08:36:34 +00:00
parent 537249cee4
commit 34e0daf37d
1 changed files with 2 additions and 35 deletions

View File

@ -59,39 +59,6 @@ ReleaseLockOnlyAtBootTime (
}
}
/**
A temparaty function that returns the size of a Null-terminated Unicode
string in bytes, including the Null terminator.
This function returns the size, in bytes, of the Null-terminated Unicode
string specified by String. It duplicates the functionality of StrSize()
in MDE library, but avoids using PCD, because IPF currently cannot convert
address of global variable for runtime.
If String is NULL, then ASSERT().
If String is not aligned on a 16-bit boundary, then ASSERT().
@param String Pointer to a Null-terminated Unicode string.
@return The size of String.
**/
STATIC
UINTN
StrSizeOfVariableName (
IN CONST CHAR16 *String
)
{
UINTN Length;
ASSERT (String != NULL);
ASSERT (((UINTN) String & 0x01) == 0);
for (Length = 0; *String != L'\0'; String++, Length++);
return (Length + 1) * sizeof (*String);
}
STATIC
BOOLEAN
EFIAPI
@ -868,7 +835,7 @@ Returns:
//
Status = EFI_WRITE_PROTECTED;
goto Done;
} else if (sizeof (VARIABLE_HEADER) + StrSizeOfVariableName (VariableName) + DataSize > MAX_VARIABLE_SIZE) {
} else if (sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > MAX_VARIABLE_SIZE) {
//
// The size of the VariableName, including the Unicode Null in bytes plus
// the DataSize is limited to maximum size of MAX_VARIABLE_SIZE (1024) bytes.
@ -977,7 +944,7 @@ Returns:
//
NextVariable->Reserved = 0;
VarNameOffset = sizeof (VARIABLE_HEADER);
VarNameSize = StrSizeOfVariableName (VariableName);
VarNameSize = StrSize (VariableName);
CopyMem (
(UINT8 *) ((UINTN) NextVariable + VarNameOffset),
VariableName,