Mercurial > hg > nginx
diff src/core/ngx_rbtree.c @ 206:9aa426375256
nginx-0.0.1-2003-12-05-10:11:46 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 05 Dec 2003 07:11:46 +0000 |
parents | 4a9a2b1dd6fa |
children | 6e0fef527732 |
line wrap: on
line diff
--- a/src/core/ngx_rbtree.c Thu Dec 04 14:53:00 2003 +0000 +++ b/src/core/ngx_rbtree.c Fri Dec 05 07:11:46 2003 +0000 @@ -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 @@ if (subst != node) { node->key = subst->key; - node->data = subst->data; + node->color = subst->color; } if (ngx_rbt_is_red(subst)) {