diff options
author | Jason Ekstrand <jason@jlekstrand.net> | 2019-09-19 15:17:24 -0500 |
---|---|---|
committer | Jason Ekstrand <jason@jlekstrand.net> | 2019-09-20 17:37:25 +0000 |
commit | dae33052dbfec843d5e997dbd93049d702977fa6 (patch) | |
tree | ecb34fd5b67cae561df8d2cb187abcaf379763f4 /src/util | |
parent | d35d7346d2446d8638b90425607c3f25fc339008 (diff) | |
download | mesa-dae33052dbfec843d5e997dbd93049d702977fa6.tar.gz |
util/rb_tree: Reverse the order of comparison functions
The new order matches that of the comparison functions accepted by the C
standard library qsort() functions. Being consistent with qsort will
hopefully help avoid developer confusion.
The only current user of the red-black tree is aub_mem.c which is pretty
easy to fix up.
Reviewed-by: Lionel Landwerlin <lionel.g.lndwerlin@intel.com>
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/rb_tree.h | 10 | ||||
-rw-r--r-- | src/util/rb_tree_test.c | 4 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/util/rb_tree.h b/src/util/rb_tree.h index 1e8aeb4a7b2..efdfb0411f1 100644 --- a/src/util/rb_tree.h +++ b/src/util/rb_tree.h @@ -127,7 +127,7 @@ rb_tree_insert(struct rb_tree *T, struct rb_node *node, bool left = false; while (x != NULL) { y = x; - left = cmp(node, x) < 0; + left = cmp(x, node) < 0; if (left) x = x->left; else @@ -167,9 +167,9 @@ rb_tree_search(struct rb_tree *T, const void *key, while (x != NULL) { int c = cmp(x, key); if (c < 0) - x = x->right; - else if (c > 0) x = x->left; + else if (c > 0) + x = x->right; else return x; } @@ -205,9 +205,9 @@ rb_tree_search_sloppy(struct rb_tree *T, const void *key, y = x; int c = cmp(x, key); if (c < 0) - x = x->right; - else if (c > 0) x = x->left; + else if (c > 0) + x = x->right; else return x; } diff --git a/src/util/rb_tree_test.c b/src/util/rb_tree_test.c index c56a90e83c5..a5952b3b52d 100644 --- a/src/util/rb_tree_test.c +++ b/src/util/rb_tree_test.c @@ -56,7 +56,7 @@ static int rb_test_node_cmp_void(const struct rb_node *n, const void *v) { struct rb_test_node *tn = rb_node_data(struct rb_test_node, n, node); - return tn->key - *(int *)v; + return *(int *)v - tn->key; } static int @@ -65,7 +65,7 @@ rb_test_node_cmp(const struct rb_node *a, const struct rb_node *b) struct rb_test_node *ta = rb_node_data(struct rb_test_node, a, node); struct rb_test_node *tb = rb_node_data(struct rb_test_node, b, node); - return ta->key - tb->key; + return tb->key - ta->key; } static void |