diff src/core/ngx_regex.c @ 481:fd661d14a7fa release-0.1.15

nginx-0.1.15-RELEASE import *) 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.
author Igor Sysoev <igor@sysoev.ru>
date Wed, 19 Jan 2005 13:10:56 +0000
parents c52408583801
children 64d9afb209da
line wrap: on
line diff
--- 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
 }
 
 
+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;