summaryrefslogtreecommitdiffstats
path: root/ctdb/common/rb_tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'ctdb/common/rb_tree.c')
-rw-r--r--ctdb/common/rb_tree.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/ctdb/common/rb_tree.c b/ctdb/common/rb_tree.c
index 8458c510be..bff7c5a4c4 100644
--- a/ctdb/common/rb_tree.c
+++ b/ctdb/common/rb_tree.c
@@ -921,9 +921,12 @@ trbt_traversearray32_node(trbt_node_t *node, uint32_t keylen,
int (*callback)(void *param, void *data),
void *param)
{
- if (node->left) {
+ trbt_node_t *left = node->left;
+ trbt_node_t *right = node->right;
+
+ if (left) {
int ret;
- ret = trbt_traversearray32_node(node->left, keylen, callback, param);
+ ret = trbt_traversearray32_node(left, keylen, callback, param);
if (ret != 0) {
return ret;
}
@@ -949,10 +952,10 @@ trbt_traversearray32_node(trbt_node_t *node, uint32_t keylen,
}
}
- if (node->right) {
+ if (right) {
int ret;
- ret = trbt_traversearray32_node(node->right, keylen, callback, param);
+ ret = trbt_traversearray32_node(right, keylen, callback, param);
if (ret != 0) {
return ret;
}