From 837d69f8efe376b6b462470d8ae63890ca690494 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 27 May 2026 18:49:27 +0200 Subject: [PATCH] DEV: dev/gdb: improve ebtree pointer handling The ebtree descent functions currently use $arg0 as is and it's up to the user to manually type the required casts that are never obvious (particularly when coming from a pointer). Let's put the eb_root* cast in the function to be more user-friendly. --- dev/gdb/ebtree.gdb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/gdb/ebtree.gdb b/dev/gdb/ebtree.gdb index a6b03e949..56b4ea852 100644 --- a/dev/gdb/ebtree.gdb +++ b/dev/gdb/ebtree.gdb @@ -26,7 +26,7 @@ end # returns $node filled with the first node of ebroot $arg0 define ebtree_first # browse ebtree left until encountering leaf - set $node = (struct eb_node *)$arg0->b[0] + set $node = (struct eb_node *)((struct eb_root*)$arg0)->b[0] while 1 _ebtree_set_tag_node $node if $tag == 0 @@ -41,7 +41,7 @@ end # finds next ebtree node after $arg0, and returns it in $node define ebtree_next # get parent - set $node = (struct eb_root *)$arg0->leaf_p + set $node = (struct eb_root *)((struct eb_node *)$arg0)->leaf_p # Walking up from right branch, so we cannot be below root # while (eb_gettag(t) != EB_LEFT) // #define EB_LEFT 0 while 1