aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_rbtree.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2003-12-05 07:11:46 +0000
committerIgor Sysoev <igor@sysoev.ru>2003-12-05 07:11:46 +0000
commitfaca119aa5b2375d247c4948ba6791e7d8d2b8bc (patch)
treef20b0776f49cb24e7ea83bae57cb6c135b73c445 /src/core/ngx_rbtree.c
parentf5003d8a66790932cae5168a913ae234cd4ce709 (diff)
downloadnginx-faca119aa5b2375d247c4948ba6791e7d8d2b8bc.tar.gz
nginx-faca119aa5b2375d247c4948ba6791e7d8d2b8bc.zip
nginx-0.0.1-2003-12-05-10:11:46 import
Diffstat (limited to 'src/core/ngx_rbtree.c')
-rw-r--r--src/core/ngx_rbtree.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/core/ngx_rbtree.c b/src/core/ngx_rbtree.c
index 2bc4650f0..ea78e2254 100644
--- a/src/core/ngx_rbtree.c
+++ b/src/core/ngx_rbtree.c
@@ -8,12 +8,11 @@
* to Algorithms" by Cormen, Leiserson and Rivest.
*/
-#define ngx_rbt_red(node) ((uintptr_t) (node)->data |= 1)
-#define ngx_rbt_black(node) ((uintptr_t) (node)->data &= ~1)
-#define ngx_rbt_is_red(node) ((uintptr_t) (node)->data & 1)
+#define ngx_rbt_red(node) ((node)->color = 1)
+#define ngx_rbt_black(node) ((node)->color = 0)
+#define ngx_rbt_is_red(node) ((node)->color)
#define ngx_rbt_is_black(node) (!ngx_rbt_is_red(node))
-#define ngx_rbt_copy_color(n1, n2) \
- ((uintptr_t) (n1)->data |= (uintptr_t) (n2)->data & 1)
+#define ngx_rbt_copy_color(n1, n2) (n1->color = n2->color)
ngx_inline void ngx_rbtree_left_rotate(ngx_rbtree_t **root, ngx_rbtree_t *node);
@@ -166,7 +165,7 @@ void ngx_rbtree_delete(ngx_rbtree_t **root, ngx_rbtree_t *node)
if (subst != node) {
node->key = subst->key;
- node->data = subst->data;
+ node->color = subst->color;
}
if (ngx_rbt_is_red(subst)) {