Mercurial > hg > nginx-ranges
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; |