diff options
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/rbtree.c | 14 |
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) { |