Mercurial > hg > nginx
comparison src/stream/ngx_stream.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 | c90cf79d0e1d |
children | 2f41d383c9c7 |
comparison
equal
deleted
inserted
replaced
6592:2c7b488a61fb | 6593:b3b7e33083ac |
---|---|
241 ngx_stream_listen_t *listen) | 241 ngx_stream_listen_t *listen) |
242 { | 242 { |
243 in_port_t p; | 243 in_port_t p; |
244 ngx_uint_t i; | 244 ngx_uint_t i; |
245 struct sockaddr *sa; | 245 struct sockaddr *sa; |
246 struct sockaddr_in *sin; | |
247 ngx_stream_conf_port_t *port; | 246 ngx_stream_conf_port_t *port; |
248 ngx_stream_conf_addr_t *addr; | 247 ngx_stream_conf_addr_t *addr; |
249 #if (NGX_HAVE_INET6) | |
250 struct sockaddr_in6 *sin6; | |
251 #endif | |
252 | 248 |
253 sa = &listen->sockaddr.sockaddr; | 249 sa = &listen->sockaddr.sockaddr; |
254 | 250 p = ngx_inet_get_port(sa); |
255 switch (sa->sa_family) { | |
256 | |
257 #if (NGX_HAVE_INET6) | |
258 case AF_INET6: | |
259 sin6 = &listen->sockaddr.sockaddr_in6; | |
260 p = sin6->sin6_port; | |
261 break; | |
262 #endif | |
263 | |
264 #if (NGX_HAVE_UNIX_DOMAIN) | |
265 case AF_UNIX: | |
266 p = 0; | |
267 break; | |
268 #endif | |
269 | |
270 default: /* AF_INET */ | |
271 sin = &listen->sockaddr.sockaddr_in; | |
272 p = sin->sin_port; | |
273 break; | |
274 } | |
275 | 251 |
276 port = ports->elts; | 252 port = ports->elts; |
277 for (i = 0; i < ports->nelts; i++) { | 253 for (i = 0; i < ports->nelts; i++) { |
278 | 254 |
279 if (p == port[i].port | 255 if (p == port[i].port |