about summary refs log tree commit diff stats
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/rbtree.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/tools/rbtree.c b/src/tools/rbtree.c
index 1fa08b71..a7e4daf1 100644
--- a/src/tools/rbtree.c
+++ b/src/tools/rbtree.c
@@ -782,6 +782,20 @@ dynarec_log(LOG_DEBUG, "rb_unset(tree, 0x%lX, 0x%lX);\n", start, end);
     return 0;
 }
 
+uintptr_t rb_get_righter(rbtree* tree)
+{
+dynarec_log(LOG_DEBUG, "rb_get_righter(tree);\n");
+    if (!tree->root) return 0;
+
+    rbnode *node = tree->root;
+    while (node) {
+        if(!node->right)
+            return node->start;
+        node = node->right;
+    }
+    return 0;
+}
+
 #include <stdio.h>
 void print_rbnode(const rbnode *node, unsigned depth, uintptr_t minstart, uintptr_t maxend, unsigned *bdepth) {
     if (!node) {