Mercurial > hg > nginx-mail
comparison src/core/ngx_string.h @ 340:10cc350ed8a1 NGINX_0_6_14
nginx 0.6.14
*) Change: now by default the "echo" SSI command uses entity encoding.
*) Feature: the "encoding" parameter in the "echo" SSI command.
*) Feature: the "access_log" directive may be used inside the
"limit_except" block.
*) Bugfix: if all upstream servers were failed, then all servers had
got weight the was equal one until servers became alive; bug
appeared in 0.6.6.
*) Bugfix: a segmentation fault occurred in worker process if
$date_local and $date_gmt were used outside the
ngx_http_ssi_filter_module.
*) Bugfix: a segmentation fault might occur in worker process if debug
log was enabled.
Thanks to Andrei Nigmatulin.
*) Bugfix: ngx_http_memcached_module did not set
$upstream_response_time.
Thanks to Maxim Dounin.
*) Bugfix: a worker process may got caught in an endless loop, if the
memcached was used.
*) Bugfix: nginx supported low case only "close" and "keep-alive"
values in the "Connection" request header line; bug appeared in
0.6.11.
*) Bugfix: sub_filter did not work with empty substitution.
*) Bugfix: in sub_filter parsing.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 15 Oct 2007 00:00:00 +0400 |
parents | 390b8f8309d6 |
children | 4276c2f1f434 |
comparison
equal
deleted
inserted
replaced
339:d19550b67059 | 340:10cc350ed8a1 |
---|---|
26 | 26 |
27 typedef struct { | 27 typedef struct { |
28 unsigned len:29; | 28 unsigned len:29; |
29 | 29 |
30 unsigned valid:1; | 30 unsigned valid:1; |
31 unsigned no_cachable:1; | 31 unsigned no_cacheable:1; |
32 unsigned not_found:1; | 32 unsigned not_found:1; |
33 | 33 |
34 u_char *data; | 34 u_char *data; |
35 } ngx_variable_value_t; | 35 } ngx_variable_value_t; |
36 | 36 |
124 u_char *ngx_vsnprintf(u_char *buf, size_t max, const char *fmt, va_list args); | 124 u_char *ngx_vsnprintf(u_char *buf, size_t max, const char *fmt, va_list args); |
125 | 125 |
126 ngx_int_t ngx_strcasecmp(u_char *s1, u_char *s2); | 126 ngx_int_t ngx_strcasecmp(u_char *s1, u_char *s2); |
127 ngx_int_t ngx_strncasecmp(u_char *s1, u_char *s2, size_t n); | 127 ngx_int_t ngx_strncasecmp(u_char *s1, u_char *s2, size_t n); |
128 | 128 |
129 u_char *ngx_strnstr(u_char *s1, char *s2, size_t n); | |
130 | |
131 u_char *ngx_strstrn(u_char *s1, char *s2, size_t n); | |
132 u_char *ngx_strcasestrn(u_char *s1, char *s2, size_t n); | |
133 | |
129 ngx_int_t ngx_rstrncmp(u_char *s1, u_char *s2, size_t n); | 134 ngx_int_t ngx_rstrncmp(u_char *s1, u_char *s2, size_t n); |
130 ngx_int_t ngx_rstrncasecmp(u_char *s1, u_char *s2, size_t n); | 135 ngx_int_t ngx_rstrncasecmp(u_char *s1, u_char *s2, size_t n); |
131 ngx_int_t ngx_memn2cmp(u_char *s1, u_char *s2, size_t n1, size_t n2); | 136 ngx_int_t ngx_memn2cmp(u_char *s1, u_char *s2, size_t n1, size_t n2); |
132 | 137 |
133 ngx_int_t ngx_atoi(u_char *line, size_t n); | 138 ngx_int_t ngx_atoi(u_char *line, size_t n); |
160 #define NGX_UNESCAPE_URI 1 | 165 #define NGX_UNESCAPE_URI 1 |
161 | 166 |
162 uintptr_t ngx_escape_uri(u_char *dst, u_char *src, size_t size, | 167 uintptr_t ngx_escape_uri(u_char *dst, u_char *src, size_t size, |
163 ngx_uint_t type); | 168 ngx_uint_t type); |
164 void ngx_unescape_uri(u_char **dst, u_char **src, size_t size, ngx_uint_t type); | 169 void ngx_unescape_uri(u_char **dst, u_char **src, size_t size, ngx_uint_t type); |
170 uintptr_t ngx_escape_html(u_char *dst, u_char *src, size_t size); | |
171 | |
165 | 172 |
166 | 173 |
167 void ngx_sort(void *base, size_t n, size_t size, | 174 void ngx_sort(void *base, size_t n, size_t size, |
168 int (*cmp)(const void *, const void *)); | 175 int (*cmp)(const void *, const void *)); |
169 #define ngx_qsort qsort | 176 #define ngx_qsort qsort |