diff options
author | Igor Sysoev <igor@sysoev.ru> | 2009-11-02 12:58:30 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2009-11-02 12:58:30 +0000 |
commit | 47c88464ebc3ddd7c2c31f5026fa7b9389f42cfa (patch) | |
tree | 85bb0a4c27531f1a358f45b1b0fbc55919a07a65 /src/core/ngx_inet.c | |
parent | 5a76cbbbc6fb36cf0c29f38c04d3ebdeea68e244 (diff) | |
download | nginx-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.c | 30 |
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; } |