diff options
Diffstat (limited to 'src/core/ngx_resolver.c')
-rw-r--r-- | src/core/ngx_resolver.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c index 5c516175e..2e3047135 100644 --- a/src/core/ngx_resolver.c +++ b/src/core/ngx_resolver.c @@ -1689,20 +1689,15 @@ ngx_resolver_lookup_name(ngx_resolver_t *r, ngx_str_t *name, uint32_t hash) /* hash == node->key */ - do { - rn = (ngx_resolver_node_t *) node; - - rc = ngx_memn2cmp(name->data, rn->name, name->len, rn->nlen); - - if (rc == 0) { - return rn; - } + rn = (ngx_resolver_node_t *) node; - node = (rc < 0) ? node->left : node->right; + rc = ngx_memn2cmp(name->data, rn->name, name->len, rn->nlen); - } while (node != sentinel && hash == node->key); + if (rc == 0) { + return rn; + } - break; + node = (rc < 0) ? node->left : node->right; } /* not found */ |