diff src/core/ngx_resolver.c @ 6593:b3b7e33083ac

Introduced ngx_inet_get_port() and ngx_inet_set_port() functions.
author Roman Arutyunyan <arut@nginx.com>
date Mon, 20 Jun 2016 11:50:39 +0300
parents adf25b8d0431
children c3e3de6d2672
line wrap: on
line diff
--- a/src/core/ngx_resolver.c
+++ b/src/core/ngx_resolver.c
@@ -2996,12 +2996,8 @@ ngx_resolver_srv_names_handler(ngx_resol
     ngx_addr_t               *addrs;
     ngx_resolver_t           *r;
     ngx_sockaddr_t           *sockaddr;
-    struct sockaddr_in       *sin;
     ngx_resolver_ctx_t       *ctx;
     ngx_resolver_srv_name_t  *srv;
-#if (NGX_HAVE_INET6)
-    struct sockaddr_in6      *sin6;
-#endif
 
     r = cctx->resolver;
     ctx = cctx->data;
@@ -3045,17 +3041,7 @@ ngx_resolver_srv_names_handler(ngx_resol
             ngx_memcpy(&sockaddr[i], cctx->addrs[i].sockaddr,
                        addrs[i].socklen);
 
-            switch (addrs[i].sockaddr->sa_family) {
-#if (NGX_HAVE_INET6)
-            case AF_INET6:
-                sin6 = (struct sockaddr_in6 *) addrs[i].sockaddr;
-                sin6->sin6_port = htons(srv->port);
-                break;
-#endif
-            default: /* AF_INET */
-                sin = (struct sockaddr_in *) addrs[i].sockaddr;
-                sin->sin_port = htons(srv->port);
-            }
+            ngx_inet_set_port(addrs[i].sockaddr, srv->port);
         }
 
         srv->addrs = addrs;