src/tree.c

changeset 1286
5492e8ef05f4
parent 1214
ee4e33284f0c
--- a/src/tree.c	Fri Apr 11 16:48:58 2025 +0200
+++ b/src/tree.c	Sat Apr 12 21:32:31 2025 +0200
@@ -226,14 +226,14 @@
         int ret_elem = sfunc(elem, node);
         if (ret_elem == 0) {
             // if found, exit the search
-            *result = (void *) elem;
+            *result = elem;
             ret = 0;
             break;
         } else if (ret_elem > 0 && ret_elem < ret) {
             // new distance is better
             *result = elem;
             ret = ret_elem;
-        } else {
+        } else if (ret_elem < 0 || ret_elem > ret) {
             // not contained or distance is worse, skip entire subtree
             cxTreeIteratorContinue(iter);
         }

mercurial