aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2021-05-25 15:17:43 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2021-05-25 15:17:43 +0300
commitf1dd1d50e090b32a765295daea5f167f1077d706 (patch)
tree2b2767a1f34270d65d74f95a9f2a8faf08bd7296
parentbbd403a7ab3810fe82ecd1d6ebca9fc34d68126a (diff)
downloadnginx-f1dd1d50e090b32a765295daea5f167f1077d706.tar.gz
nginx-f1dd1d50e090b32a765295daea5f167f1077d706.zip
Resolver: reworked ngx_resolver_copy() copy loop.
To make the code easier to read, reworked the ngx_resolver_copy() copy loop to match the one used to calculate length. No functional changes.
-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;
}
}
}