Mercurial > hg > nginx
comparison src/core/ngx_connection.c @ 2197:74477ea8074f
*) remove zero termination in ngx_inet_ntop() and ngx_sock_ntop()
*) use ngx_snprintf() in ngx_inet_ntop() and ngx_sock_ntop()
as they are called just once per connection
*) NGX_INET_ADDRSTRLEN
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 21 Aug 2008 18:47:23 +0000 |
parents | 2a92804f4109 |
children | 5975975eedc0 |
comparison
equal
deleted
inserted
replaced
2196:fab3fa7339ff | 2197:74477ea8074f |
---|---|
35 sin->sin_addr.s_addr = addr; | 35 sin->sin_addr.s_addr = addr; |
36 sin->sin_port = htons(port); | 36 sin->sin_port = htons(port); |
37 | 37 |
38 | 38 |
39 ls->addr_text.data = ngx_pnalloc(cf->pool, | 39 ls->addr_text.data = ngx_pnalloc(cf->pool, |
40 INET_ADDRSTRLEN - 1 + sizeof(":65535") - 1); | 40 NGX_INET_ADDRSTRLEN + sizeof(":65535") - 1); |
41 if (ls->addr_text.data == NULL) { | 41 if (ls->addr_text.data == NULL) { |
42 return NULL; | 42 return NULL; |
43 } | 43 } |
44 | 44 |
45 len = ngx_inet_ntop(AF_INET, &addr, ls->addr_text.data, INET_ADDRSTRLEN); | 45 len = ngx_inet_ntop(AF_INET, &addr, ls->addr_text.data, |
46 NGX_INET_ADDRSTRLEN); | |
46 | 47 |
47 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) |
48 - ls->addr_text.data; | 49 - ls->addr_text.data; |
49 | 50 |
50 ls->fd = (ngx_socket_t) -1; | 51 ls->fd = (ngx_socket_t) -1; |
51 ls->family = AF_INET; | 52 ls->family = AF_INET; |
52 ls->type = SOCK_STREAM; | 53 ls->type = SOCK_STREAM; |
53 ls->sockaddr = (struct sockaddr *) sin; | 54 ls->sockaddr = (struct sockaddr *) sin; |
54 ls->socklen = sizeof(struct sockaddr_in); | 55 ls->socklen = sizeof(struct sockaddr_in); |
55 ls->addr = offsetof(struct sockaddr_in, sin_addr); | 56 ls->addr = offsetof(struct sockaddr_in, sin_addr); |
56 ls->addr_text_max_len = INET_ADDRSTRLEN; | 57 ls->addr_text_max_len = NGX_INET_ADDRSTRLEN; |
57 | 58 |
58 return ls; | 59 return ls; |
59 } | 60 } |
60 | 61 |
61 | 62 |
102 "unsupported family", ls[i].fd); | 103 "unsupported family", ls[i].fd); |
103 ls[i].ignore = 1; | 104 ls[i].ignore = 1; |
104 continue; | 105 continue; |
105 } | 106 } |
106 | 107 |
107 ls[i].addr_text_max_len = INET_ADDRSTRLEN; | 108 ls[i].addr_text_max_len = NGX_INET_ADDRSTRLEN; |
108 | 109 |
109 ls[i].addr_text.data = ngx_pnalloc(cycle->pool, | 110 ls[i].addr_text.data = ngx_pnalloc(cycle->pool, |
110 INET_ADDRSTRLEN - 1 + sizeof(":65535") - 1); | 111 NGX_INET_ADDRSTRLEN + sizeof(":65535") - 1); |
111 if (ls[i].addr_text.data == NULL) { | 112 if (ls[i].addr_text.data == NULL) { |
112 return NGX_ERROR; | 113 return NGX_ERROR; |
113 } | 114 } |
114 | 115 |
115 ls[i].family = sin->sin_family; | 116 ls[i].family = sin->sin_family; |
116 len = ngx_sock_ntop(ls[i].family, ls[i].sockaddr, | 117 len = ngx_sock_ntop(ls[i].family, ls[i].sockaddr, |
117 ls[i].addr_text.data, INET_ADDRSTRLEN); | 118 ls[i].addr_text.data, NGX_INET_ADDRSTRLEN); |
118 if (len == 0) { | 119 if (len == 0) { |
119 return NGX_ERROR; | 120 return NGX_ERROR; |
120 } | 121 } |
121 | 122 |
122 ls[i].addr_text.len = ngx_sprintf(ls[i].addr_text.data + len, ":%d", | 123 ls[i].addr_text.len = ngx_sprintf(ls[i].addr_text.data + len, ":%d", |