comparison src/core/ngx_rbtree.c @ 1023:68cc5e2e1a5d

make global the rbtree color handling macros
author Igor Sysoev <igor@sysoev.ru>
date Fri, 12 Jan 2007 19:48:30 +0000
parents 4924b71d77f6
children 4fc402c3ec73
comparison
equal deleted inserted replaced
1022:7058eb754ef0 1023:68cc5e2e1a5d
10 10
11 /* 11 /*
12 * The red-black tree code is based on the algorithm described in 12 * The red-black tree code is based on the algorithm described in
13 * the "Introduction to Algorithms" by Cormen, Leiserson and Rivest. 13 * the "Introduction to Algorithms" by Cormen, Leiserson and Rivest.
14 */ 14 */
15
16 #define ngx_rbt_red(node) ((node)->color = 1)
17 #define ngx_rbt_black(node) ((node)->color = 0)
18 #define ngx_rbt_is_red(node) ((node)->color)
19 #define ngx_rbt_is_black(node) (!ngx_rbt_is_red(node))
20 #define ngx_rbt_copy_color(n1, n2) (n1->color = n2->color)
21 15
22 16
23 static ngx_inline void ngx_rbtree_left_rotate(ngx_rbtree_node_t **root, 17 static ngx_inline void ngx_rbtree_left_rotate(ngx_rbtree_node_t **root,
24 ngx_rbtree_node_t *sentinel, ngx_rbtree_node_t *node); 18 ngx_rbtree_node_t *sentinel, ngx_rbtree_node_t *node);
25 static ngx_inline void ngx_rbtree_right_rotate(ngx_rbtree_node_t **root, 19 static ngx_inline void ngx_rbtree_right_rotate(ngx_rbtree_node_t **root,