mirror of https://github.com/acidanthera/audk.git
9062381a8c
1) Replace InternalBaseLibIsNodeInList() with InternalBaseLibIsListValid(). - The verification whether Node is within the doubly-linked List is now done by IsNodeInList(). - Whether the list is valid is returned. 2) The comments within InsertHeadList() and InsertTailList() stated that it is checked whether Entry is not part of the doubly-linked list. This was not done as argument 3 of InternalBaseLibIsNodeInList() indicated whether the check is done, not whether to check if the node is or is not in the list. This has been fixed by using IsNodeInList() for the ASSERTs. V2: - Fix IsListEmpty() to ASSERT when the passed list is invalid. - Introduce the VERIFY_IS_NODE_IN_LIST() macro to only verify whether the passed node is part of the list when PcdVerifyNodeInList is TRUE. V3: - Introduce the ASSERT_VERIFY_NODE_IN_VALID_LIST() macro which, depending on the value of PcdVerifyNodeInList, verifies whether SecondEntry is or is not part of the same doubly-linked list as FirstEntry and unconditionally verifies whether the doubly-linked list FirstEntry is part of is valid. This prevents InternalBaseLibIsListValid() from being called twice when a function ASSERTs via the result of IsNodeInList(), as it calls InternalBaseLibIsListValid() already. - Remove the VERIFY_IS_NODE_IN_LIST() macro in favor of ASSERT_VERIFY_NODE_IN_VALID_LIST(). Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marvin Haeuser <Marvin.Haeuser@outlook.com> Reviewed-by: Liming Gao <liming.gao@intel.com> |
||
---|---|---|
.. | ||
AArch64 | ||
Arm | ||
Ebc | ||
Ia32 | ||
Ipf | ||
X64 | ||
ARShiftU64.c | ||
BaseLib.inf | ||
BaseLib.uni | ||
BaseLibInternals.h | ||
BitField.c | ||
CheckSum.c | ||
ChkStkGcc.c | ||
Cpu.c | ||
CpuDeadLoop.c | ||
DivS64x64Remainder.c | ||
DivU64x32.c | ||
DivU64x32Remainder.c | ||
DivU64x64Remainder.c | ||
FilePaths.c | ||
GetPowerOfTwo32.c | ||
GetPowerOfTwo64.c | ||
HighBitSet32.c | ||
HighBitSet64.c | ||
LRotU32.c | ||
LRotU64.c | ||
LShiftU64.c | ||
LinkedList.c | ||
LongJump.c | ||
LowBitSet32.c | ||
LowBitSet64.c | ||
Math64.c | ||
ModU64x32.c | ||
MultS64x64.c | ||
MultU64x32.c | ||
MultU64x64.c | ||
RRotU32.c | ||
RRotU64.c | ||
RShiftU64.c | ||
SafeString.c | ||
SetJump.c | ||
String.c | ||
SwapBytes16.c | ||
SwapBytes32.c | ||
SwapBytes64.c | ||
SwitchStack.c | ||
Unaligned.c | ||
X86DisablePaging32.c | ||
X86DisablePaging64.c | ||
X86EnablePaging32.c | ||
X86EnablePaging64.c | ||
X86FxRestore.c | ||
X86FxSave.c | ||
X86GetInterruptState.c | ||
X86MemoryFence.c | ||
X86Msr.c | ||
X86RdRand.c | ||
X86ReadGdtr.c | ||
X86ReadIdtr.c | ||
X86Thunk.c | ||
X86WriteGdtr.c | ||
X86WriteIdtr.c |