summaryrefslogtreecommitdiff
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
commit52601fc5dcb7532d2ee6d9edcf02b7828b425d7e (patch)
tree3a22c6a752a7cfeeae1953fe0c5c017af4fd9d28
parent3893b483ed2d90f514ffe10a5d1ac12a90b89d4e (diff)
downloadnginx-52601fc5dcb7532d2ee6d9edcf02b7828b425d7e.tar.gz
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;
}
}
}