aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_resolver.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ngx_resolver.c')
-rw-r--r--src/core/ngx_resolver.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c
index 12dab09ea..0d7fd7915 100644
--- a/src/core/ngx_resolver.c
+++ b/src/core/ngx_resolver.c
@@ -4008,15 +4008,18 @@ done:
name->data = dst;
- n = *src++;
-
for ( ;; ) {
+ n = *src++;
+
+ if (n == 0) {
+ name->len = dst - name->data;
+ return NGX_OK;
+ }
+
if (n & 0xc0) {
n = ((n & 0x3f) << 8) + *src;
src = &buf[n];
- n = *src++;
-
} else {
if (dst != name->data) {
*dst++ = '.';
@@ -4025,13 +4028,6 @@ done:
ngx_strlow(dst, src, n);
dst += n;
src += n;
-
- n = *src++;
- }
-
- if (n == 0) {
- name->len = dst - name->data;
- return NGX_OK;
}
}
}