]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/LinkedList.c
In before, FixedPcdGetxx macro was defined as global variable, it is wrong. It should...
[mirror_edk2.git] / MdePkg / Library / BaseLib / LinkedList.c
index 0f42749775c1b76a94dd2296ed74290ee0157dfb..be7e0a64b762557a98acc8651ea5281bd35f546d 100644 (file)
@@ -33,7 +33,11 @@ IsNodeInList (
   ASSERT (List->BackLink != NULL);\r
   ASSERT (Node != NULL);\r
 \r
-  Count = FixedPcdGet32 (PcdMaximumLinkedListLength);\r
+  Count = PcdGet32 (PcdMaximumLinkedListLength);\r
+  if (Count != 0) {\r
+    Count++;\r
+  }\r
+\r
   Ptr = List;\r
   do {\r
     Ptr = Ptr->ForwardLink;\r
@@ -41,9 +45,10 @@ IsNodeInList (
   } while ((Ptr != List) && (Ptr != Node) && (Count > 0));\r
   Found = (BOOLEAN)(Ptr == Node);\r
 \r
-  if (FixedPcdGet32 (PcdMaximumLinkedListLength) > 0) {\r
+  if (PcdGet32 (PcdMaximumLinkedListLength) > 0) {\r
     while ((Count > 0) && (Ptr != List)) {\r
       Ptr = Ptr->ForwardLink;\r
+      Count--;\r
     }\r
     ASSERT (Count > 0);\r
   }\r