comparison src/core/ngx_rbtree.c @ 16:74b1868dd3cd NGINX_0_1_8

nginx 0.1.8 *) Bugfix: in the ngx_http_autoindex_module if the long file names were in the listing. *) Feature: the "^~" modifier in the location directive. *) Feature: the proxy_max_temp_file_size directive.
author Igor Sysoev <http://sysoev.ru>
date Sat, 20 Nov 2004 00:00:00 +0300
parents f0b350454894
children 41ccba1aba45
comparison
equal deleted inserted replaced
15:0503cb60c4e4 16:74b1868dd3cd
18 #define ngx_rbt_is_red(node) ((node)->color) 18 #define ngx_rbt_is_red(node) ((node)->color)
19 #define ngx_rbt_is_black(node) (!ngx_rbt_is_red(node)) 19 #define ngx_rbt_is_black(node) (!ngx_rbt_is_red(node))
20 #define ngx_rbt_copy_color(n1, n2) (n1->color = n2->color) 20 #define ngx_rbt_copy_color(n1, n2) (n1->color = n2->color)
21 21
22 22
23 ngx_inline void ngx_rbtree_left_rotate(ngx_rbtree_t **root, 23 static ngx_inline void ngx_rbtree_left_rotate(ngx_rbtree_t **root,
24 ngx_rbtree_t *sentinel, 24 ngx_rbtree_t *sentinel,
25 ngx_rbtree_t *node); 25 ngx_rbtree_t *node);
26 ngx_inline void ngx_rbtree_right_rotate(ngx_rbtree_t **root, 26 static ngx_inline void ngx_rbtree_right_rotate(ngx_rbtree_t **root,
27 ngx_rbtree_t *sentinel, 27 ngx_rbtree_t *sentinel,
28 ngx_rbtree_t *node); 28 ngx_rbtree_t *node);
29 29
30 30
31 void ngx_rbtree_insert(ngx_rbtree_t **root, ngx_rbtree_t *sentinel, 31 void ngx_rbtree_insert(ngx_rbtree_t **root, ngx_rbtree_t *sentinel,
32 ngx_rbtree_t *node) 32 ngx_rbtree_t *node)
33 { 33 {
287 287
288 ngx_rbt_black(temp); 288 ngx_rbt_black(temp);
289 } 289 }
290 290
291 291
292 ngx_inline void ngx_rbtree_left_rotate(ngx_rbtree_t **root, 292 static ngx_inline void ngx_rbtree_left_rotate(ngx_rbtree_t **root,
293 ngx_rbtree_t *sentinel, 293 ngx_rbtree_t *sentinel,
294 ngx_rbtree_t *node) 294 ngx_rbtree_t *node)
295 { 295 {
296 ngx_rbtree_t *temp; 296 ngx_rbtree_t *temp;
297 297
298 temp = node->right; 298 temp = node->right;
299 node->right = temp->left; 299 node->right = temp->left;
317 temp->left = node; 317 temp->left = node;
318 node->parent = temp; 318 node->parent = temp;
319 } 319 }
320 320
321 321
322 ngx_inline void ngx_rbtree_right_rotate(ngx_rbtree_t **root, 322 static ngx_inline void ngx_rbtree_right_rotate(ngx_rbtree_t **root,
323 ngx_rbtree_t *sentinel, 323 ngx_rbtree_t *sentinel,
324 ngx_rbtree_t *node) 324 ngx_rbtree_t *node)
325 { 325 {
326 ngx_rbtree_t *temp; 326 ngx_rbtree_t *temp;
327 327
328 temp = node->left; 328 temp = node->left;
329 node->left = temp->right; 329 node->left = temp->right;