Add in local variable to ensure that "operands are evaluated in specified order".

Otherwise, Intel ICC report "operands are evaluated in unspecified order" build error.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6231 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qwang12 2008-10-26 07:32:20 +00:00
parent 18e6a25f7b
commit 49e7092714
1 changed files with 12 additions and 2 deletions

View File

@ -606,12 +606,16 @@ Returns:
UINT8 *ValidBuffer;
UINTN MaximumBufferSize;
UINTN VariableSize;
UINTN VariableNameSize;
UINTN UpdatingVariableNameSize;
UINTN NameSize;
UINT8 *CurrPtr;
VOID *Point0;
VOID *Point1;
BOOLEAN FoundAdded;
EFI_STATUS Status;
CHAR16 *VariableNamePtr;
CHAR16 *UpdatingVariableNamePtr;
VariableStoreHeader = (VARIABLE_STORE_HEADER *) ((UINTN) VariableBase);
@ -667,9 +671,15 @@ Returns:
Variable = NextVariable;
continue;
}
VariableNameSize = NameSizeOfVariable(Variable);
UpdatingVariableNameSize = NameSizeOfVariable(UpdatingVariable);
VariableNamePtr = GetVariableNamePtr (Variable);
UpdatingVariableNamePtr = GetVariableNamePtr (UpdatingVariable);
if (CompareGuid (&Variable->VendorGuid, &UpdatingVariable->VendorGuid) &&
NameSizeOfVariable(Variable) == NameSizeOfVariable (UpdatingVariable) &&
CompareMem (GetVariableNamePtr (Variable), GetVariableNamePtr (UpdatingVariable), NameSizeOfVariable (Variable)) == 0 ) {
VariableNameSize == UpdatingVariableNameSize &&
CompareMem (VariableNamePtr, UpdatingVariableNamePtr, VariableNameSize) == 0 ) {
Variable = NextVariable;
continue;
}