aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_inet.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-11-02 12:58:30 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-11-02 12:58:30 +0000
commit47c88464ebc3ddd7c2c31f5026fa7b9389f42cfa (patch)
tree85bb0a4c27531f1a358f45b1b0fbc55919a07a65 /src/core/ngx_inet.c
parent5a76cbbbc6fb36cf0c29f38c04d3ebdeea68e244 (diff)
downloadnginx-47c88464ebc3ddd7c2c31f5026fa7b9389f42cfa.tar.gz
nginx-47c88464ebc3ddd7c2c31f5026fa7b9389f42cfa.zip
use ngx_inet6_addr()
Diffstat (limited to 'src/core/ngx_inet.c')
-rw-r--r--src/core/ngx_inet.c30
1 files changed, 2 insertions, 28 deletions
diff --git a/src/core/ngx_inet.c b/src/core/ngx_inet.c
index 9b039f5dd..c6f36fe9c 100644
--- a/src/core/ngx_inet.c
+++ b/src/core/ngx_inet.c
@@ -698,7 +698,6 @@ static ngx_int_t
ngx_parse_inet6_url(ngx_pool_t *pool, ngx_url_t *u)
{
#if (NGX_HAVE_INET6)
- int rc;
u_char *p, *host, *port, *last, *uri;
size_t len;
ngx_int_t n;
@@ -770,35 +769,10 @@ ngx_parse_inet6_url(ngx_pool_t *pool, ngx_url_t *u)
return NGX_ERROR;
}
- u->host.len = len++;
+ u->host.len = len;
u->host.data = host;
- p = ngx_alloc(len, pool->log);
- if (p == NULL) {
- return NGX_ERROR;
- }
-
- (void) ngx_cpystrn(p, host, len);
-
-#if (NGX_WIN32)
-
- rc = WSAStringToAddress((char *) p, AF_INET6, NULL,
- (SOCKADDR *) sin6, &u->socklen);
- rc = !rc;
-
- if (u->port) {
- sin6->sin6_port = htons(u->port);
- }
-
-#else
-
- rc = inet_pton(AF_INET6, (const char *) p, &sin6->sin6_addr);
-
-#endif
-
- ngx_free(p);
-
- if (rc == 0) {
+ if (ngx_inet6_addr(host, len, (u_char *) &sin6->sin6_addr) != NGX_OK) {
u->err = "invalid IPv6 address";
return NGX_ERROR;
}