Эх сурвалжийг харах

structure: CAvl: fix CAvl_IndexOf()

ambrop7 13 жил өмнө
parent
commit
98c57a2886
1 өөрчлөгдсөн 1 нэмэгдсэн , 3 устгасан
  1. 1 3
      structure/CAvl_impl.h

+ 1 - 3
structure/CAvl_impl.h

@@ -626,14 +626,12 @@ static CAvlCount CAvl_IndexOf (const CAvl *o, CAvlArg arg, CAvlNode node)
     
     CAvlNode paren = CAvl_Deref(arg, CAvl_parent(node));
     
-    for (CAvlNode c = node; paren.link != CAvlNullLink; c = paren) {
+    for (CAvlNode c = node; paren.link != CAvlNullLink; c = paren, paren = CAvl_Deref(arg, CAvl_parent(c))) {
         if (c.link == CAvl_link(paren)[1]) {
             ASSERT(CAvl_count(paren) > CAvl_count(c))
             ASSERT(CAvl_count(paren) - CAvl_count(c) <= CAVL_PARAM_COUNT_MAX - index)
             index += CAvl_count(paren) - CAvl_count(c);
         }
-        
-        paren = CAvl_Deref(arg, CAvl_parent(c));
     }
     
     return index;