comparison src/core/ngx_regex.c @ 30:e1ada20fc595 NGINX_0_1_15

nginx 0.1.15 *) Bugfix: the error while the connecting to the FastCGI server caused segmentation fault. *) Bugfix: the correct handling of the regular expression, that has different number of the captures and substitutions. *) Feature: the location, that is passed to the FastCGI server, can be regular expression. *) Bugfix: the FastCGI's parameter REQUEST_URI is now passed with the arguments and in the original state. *) Bugfix: the ngx_http_rewrite_module module was required to be built to use the regular expressions in locations. *) Bugfix: the directive "proxy_preserve_host on" adds port 80 to the "Host" headers, if upstream listen on port 80; bug appeared in 0.1.14. *) Bugfix: the same paths in autoconfiguration parameters --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, or --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH caused segmentation fault.
author Igor Sysoev <http://sysoev.ru>
date Wed, 19 Jan 2005 00:00:00 +0300
parents 7ca9bdc82b3f
children 6cfc63e68377
comparison
equal deleted inserted replaced
29:3efadd1f18f7 30:e1ada20fc595
77 77
78 return re; 78 return re;
79 } 79 }
80 80
81 81
82 ngx_uint_t ngx_regex_capture_count(ngx_regex_t *re)
83 {
84 int rc, n;
85
86 n = 0;
87
88 rc = pcre_fullinfo(re, NULL, PCRE_INFO_CAPTURECOUNT, &n);
89
90 return (ngx_uint_t) n;
91 }
92
93
82 ngx_int_t ngx_regex_exec(ngx_regex_t *re, ngx_str_t *s, 94 ngx_int_t ngx_regex_exec(ngx_regex_t *re, ngx_str_t *s,
83 int *matches, ngx_int_t size) 95 int *captures, ngx_int_t size)
84 { 96 {
85 int rc; 97 int rc;
86 98
87 rc = pcre_exec(re, NULL, (const char *) s->data, s->len, 0, 0, 99 rc = pcre_exec(re, NULL, (const char *) s->data, s->len, 0, 0,
88 matches, size); 100 captures, size);
89 101
90 if (rc == -1) { 102 if (rc == -1) {
91 return NGX_DECLINED; 103 return NGX_REGEX_NO_MATCHED;
92 } 104 }
93 105
94 return rc; 106 return rc;
95 } 107 }
96 108