comparison src/core/ngx_rbtree.c @ 861:4924b71d77f6

ngx_rbtree_insert_value()
author Igor Sysoev <igor@sysoev.ru>
date Mon, 20 Nov 2006 17:13:21 +0000
parents a7c8cbb4c55f
children 68cc5e2e1a5d
comparison
equal deleted inserted replaced
860:201d017ea470 861:4924b71d77f6
94 } 94 }
95 } 95 }
96 } 96 }
97 97
98 ngx_rbt_black(*root); 98 ngx_rbt_black(*root);
99 }
100
101
102 void
103 ngx_rbtree_insert_value(ngx_rbtree_node_t *temp, ngx_rbtree_node_t *node,
104 ngx_rbtree_node_t *sentinel)
105 {
106 for ( ;; ) {
107
108 if (node->key < temp->key) {
109
110 if (temp->left == sentinel) {
111 temp->left = node;
112 break;
113 }
114
115 temp = temp->left;
116
117 } else {
118
119 if (temp->right == sentinel) {
120 temp->right = node;
121 break;
122 }
123
124 temp = temp->right;
125 }
126 }
127
128 node->parent = temp;
129 node->left = sentinel;
130 node->right = sentinel;
131 ngx_rbt_red(node);
99 } 132 }
100 133
101 134
102 void 135 void
103 ngx_rbtree_insert_timer_value(ngx_rbtree_node_t *temp, ngx_rbtree_node_t *node, 136 ngx_rbtree_insert_timer_value(ngx_rbtree_node_t *temp, ngx_rbtree_node_t *node,