diff options
author | Igor Sysoev <igor@sysoev.ru> | 2010-06-23 15:31:33 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2010-06-23 15:31:33 +0000 |
commit | 0923d0814826f390a6b69a1ce7f41e55650ea169 (patch) | |
tree | 2b2c0f9a7495f622ff09e90e25e955219d6b7fb8 /src/http/ngx_http_variables.c | |
parent | 2c72df5ed491f7e915724dcb80d59d44d1e431f3 (diff) | |
download | nginx-0923d0814826f390a6b69a1ce7f41e55650ea169.tar.gz nginx-0923d0814826f390a6b69a1ce7f41e55650ea169.zip |
change ngx_http_variable_value_node_t to more generic ngx_str_node_t
Diffstat (limited to 'src/http/ngx_http_variables.c')
-rw-r--r-- | src/http/ngx_http_variables.c | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/src/http/ngx_http_variables.c b/src/http/ngx_http_variables.c index 0bba28128..00d9d5eb4 100644 --- a/src/http/ngx_http_variables.c +++ b/src/http/ngx_http_variables.c @@ -1973,87 +1973,3 @@ ngx_http_variables_init_vars(ngx_conf_t *cf) return NGX_OK; } - - -void -ngx_http_variable_value_rbtree_insert(ngx_rbtree_node_t *temp, - ngx_rbtree_node_t *node, ngx_rbtree_node_t *sentinel) -{ - ngx_rbtree_node_t **p; - ngx_http_variable_value_node_t *vvn, *vvt; - - for ( ;; ) { - - vvn = (ngx_http_variable_value_node_t *) node; - vvt = (ngx_http_variable_value_node_t *) temp; - - if (node->key != temp->key) { - - p = (node->key < temp->key) ? &temp->left : &temp->right; - - } else if (vvn->len != vvt->len) { - - p = (vvn->len < vvt->len) ? &temp->left : &temp->right; - - } else { - p = (ngx_memcmp(vvn->value->data, vvt->value->data, vvn->len) < 0) - ? &temp->left : &temp->right; - } - - if (*p == sentinel) { - break; - } - - temp = *p; - } - - *p = node; - node->parent = temp; - node->left = sentinel; - node->right = sentinel; - ngx_rbt_red(node); -} - - -ngx_http_variable_value_t * -ngx_http_variable_value_lookup(ngx_rbtree_t *rbtree, ngx_str_t *val, - uint32_t hash) -{ - ngx_int_t rc; - ngx_rbtree_node_t *node, *sentinel; - ngx_http_variable_value_node_t *vvn; - - node = rbtree->root; - sentinel = rbtree->sentinel; - - while (node != sentinel) { - - vvn = (ngx_http_variable_value_node_t *) node; - - if (hash != node->key) { - node = (hash < node->key) ? node->left : node->right; - continue; - } - - if (val->len != vvn->len) { - node = (val->len < vvn->len) ? node->left : node->right; - continue; - } - - rc = ngx_memcmp(val->data, vvn->value->data, val->len); - - if (rc < 0) { - node = node->left; - continue; - } - - if (rc > 0) { - node = node->right; - continue; - } - - return vvn->value; - } - - return NULL; -} |