comparison src/core/ngx_resolver.c @ 2486:8de5dc3e7001

use length of uncompressed name
author Igor Sysoev <igor@sysoev.ru>
date Fri, 30 Jan 2009 11:56:45 +0000
parents cf3cd450049c
children 9b4dce95c744
comparison
equal deleted inserted replaced
2485:51b1097dbb67 2486:8de5dc3e7001
1514 1514
1515 if (i + len > (ngx_uint_t) n) { 1515 if (i + len > (ngx_uint_t) n) {
1516 goto short_response; 1516 goto short_response;
1517 } 1517 }
1518 1518
1519 len -= 2;
1520
1521 if (ngx_resolver_copy(r, &name, buf, &buf[i], &buf[n]) != NGX_OK) { 1519 if (ngx_resolver_copy(r, &name, buf, &buf[i], &buf[n]) != NGX_OK) {
1522 return; 1520 return;
1523 } 1521 }
1524 1522
1525 ngx_log_debug1(NGX_LOG_DEBUG_CORE, r->log, 0, "resolver an:%V", &name); 1523 ngx_log_debug1(NGX_LOG_DEBUG_CORE, r->log, 0, "resolver an:%V", &name);
1526 1524
1527 if (len != (size_t) rn->nlen || ngx_strncmp(name.data, rn->name, len) != 0) 1525 if (name.len != (size_t) rn->nlen
1526 || ngx_strncmp(name.data, rn->name, name.len) != 0)
1528 { 1527 {
1529 if (rn->nlen) { 1528 if (rn->nlen) {
1530 ngx_resolver_free(r, rn->name); 1529 ngx_resolver_free(r, rn->name);
1531 } 1530 }
1532 1531
1533 rn->nlen = len; 1532 rn->nlen = name.len;
1534 rn->name = name.data; 1533 rn->name = name.data;
1535 1534
1536 name.data = ngx_resolver_dup(r, rn->name, len); 1535 name.data = ngx_resolver_dup(r, rn->name, name.len);
1537 if (name.data == NULL) { 1536 if (name.data == NULL) {
1538 goto failed; 1537 goto failed;
1539 } 1538 }
1540 } 1539 }
1541 1540