diff options
author | Igor Sysoev <igor@sysoev.ru> | 2005-01-19 13:10:56 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2005-01-19 13:10:56 +0000 |
commit | 3259e85b7a1ce51d2e65360173c373fcca3609fb (patch) | |
tree | 6165dfb25d57d8b2d7cc914069a4c150b168354b /src/core/ngx_regex.c | |
parent | fbf4fc0da9018ef2d11470b6ac295385ecf53091 (diff) | |
download | nginx-3259e85b7a1ce51d2e65360173c373fcca3609fb.tar.gz nginx-3259e85b7a1ce51d2e65360173c373fcca3609fb.zip |
nginx-0.1.15-RELEASE importrelease-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; the bug had 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.
Diffstat (limited to 'src/core/ngx_regex.c')
-rw-r--r-- | src/core/ngx_regex.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/core/ngx_regex.c b/src/core/ngx_regex.c index 9b0c74e1f..5a0f79314 100644 --- a/src/core/ngx_regex.c +++ b/src/core/ngx_regex.c @@ -79,16 +79,28 @@ ngx_regex_t *ngx_regex_compile(ngx_str_t *pattern, ngx_int_t options, } +ngx_uint_t ngx_regex_capture_count(ngx_regex_t *re) +{ + int rc, n; + + n = 0; + + rc = pcre_fullinfo(re, NULL, PCRE_INFO_CAPTURECOUNT, &n); + + return (ngx_uint_t) n; +} + + ngx_int_t ngx_regex_exec(ngx_regex_t *re, ngx_str_t *s, - int *matches, ngx_int_t size) + int *captures, ngx_int_t size) { int rc; rc = pcre_exec(re, NULL, (const char *) s->data, s->len, 0, 0, - matches, size); + captures, size); if (rc == -1) { - return NGX_DECLINED; + return NGX_REGEX_NO_MATCHED; } return rc; |