comparison src/core/ngx_connection.c @ 2198:5975975eedc0

ngx_sock_ntop() takes family from sockaddr, remove duplicate field
author Igor Sysoev <igor@sysoev.ru>
date Thu, 21 Aug 2008 19:24:07 +0000
parents 74477ea8074f
children 353dbe12845e
comparison
equal deleted inserted replaced
2197:74477ea8074f 2198:5975975eedc0
47 47
48 ls->addr_text.len = ngx_sprintf(ls->addr_text.data + len, ":%d", port) 48 ls->addr_text.len = ngx_sprintf(ls->addr_text.data + len, ":%d", port)
49 - ls->addr_text.data; 49 - ls->addr_text.data;
50 50
51 ls->fd = (ngx_socket_t) -1; 51 ls->fd = (ngx_socket_t) -1;
52 ls->family = AF_INET;
53 ls->type = SOCK_STREAM; 52 ls->type = SOCK_STREAM;
54 ls->sockaddr = (struct sockaddr *) sin; 53 ls->sockaddr = (struct sockaddr *) sin;
55 ls->socklen = sizeof(struct sockaddr_in); 54 ls->socklen = sizeof(struct sockaddr_in);
56 ls->addr = offsetof(struct sockaddr_in, sin_addr); 55 ls->addr = offsetof(struct sockaddr_in, sin_addr);
57 ls->addr_text_max_len = NGX_INET_ADDRSTRLEN; 56 ls->addr_text_max_len = NGX_INET_ADDRSTRLEN;
111 NGX_INET_ADDRSTRLEN + sizeof(":65535") - 1); 110 NGX_INET_ADDRSTRLEN + sizeof(":65535") - 1);
112 if (ls[i].addr_text.data == NULL) { 111 if (ls[i].addr_text.data == NULL) {
113 return NGX_ERROR; 112 return NGX_ERROR;
114 } 113 }
115 114
116 ls[i].family = sin->sin_family; 115 len = ngx_sock_ntop(ls[i].sockaddr, ls[i].addr_text.data,
117 len = ngx_sock_ntop(ls[i].family, ls[i].sockaddr, 116 NGX_INET_ADDRSTRLEN);
118 ls[i].addr_text.data, NGX_INET_ADDRSTRLEN);
119 if (len == 0) { 117 if (len == 0) {
120 return NGX_ERROR; 118 return NGX_ERROR;
121 } 119 }
122 120
123 ls[i].addr_text.len = ngx_sprintf(ls[i].addr_text.data + len, ":%d", 121 ls[i].addr_text.len = ngx_sprintf(ls[i].addr_text.data + len, ":%d",
253 /* TODO: deferred accept */ 251 /* TODO: deferred accept */
254 252
255 continue; 253 continue;
256 } 254 }
257 255
258 s = ngx_socket(ls[i].family, ls[i].type, 0); 256 s = ngx_socket(ls[i].sockaddr->sa_family, ls[i].type, 0);
259 257
260 if (s == -1) { 258 if (s == -1) {
261 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, 259 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno,
262 ngx_socket_n " %V failed", &ls[i].addr_text); 260 ngx_socket_n " %V failed", &ls[i].addr_text);
263 return NGX_ERROR; 261 return NGX_ERROR;