diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/nginx.h | 2 | ||||
-rw-r--r-- | src/core/ngx_file.c | 12 | ||||
-rw-r--r-- | src/core/ngx_regex.c | 18 | ||||
-rw-r--r-- | src/core/ngx_regex.h | 7 |
4 files changed, 32 insertions, 7 deletions
diff --git a/src/core/nginx.h b/src/core/nginx.h index 4b98cda28..2d18bc996 100644 --- a/src/core/nginx.h +++ b/src/core/nginx.h @@ -8,7 +8,7 @@ #define _NGINX_H_INCLUDED_ -#define NGINX_VER "nginx/0.1.14" +#define NGINX_VER "nginx/0.1.15" #define NGINX_VAR "NGINX" #define NGX_NEWPID_EXT ".newbin" diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c index 37983fe13..cc03d79cd 100644 --- a/src/core/ngx_file.c +++ b/src/core/ngx_file.c @@ -252,9 +252,19 @@ ngx_int_t ngx_add_path(ngx_conf_t *cf, ngx_path_t **slot) for (n = 0; n < 3; n++) { if (p[i]->level[n] != path->level[n]) { if (path->conf_file == NULL) { + if (p[i]->conf_file == NULL) { + ngx_log_error(NGX_LOG_EMERG, cf->log, 0, + "the default path name \"%V\" has " + "the same name as another default path, " + "but the different levels, you need to " + "redefine one of them in http section", + &p[i]->name); + return NGX_ERROR; + } + ngx_log_error(NGX_LOG_EMERG, cf->log, 0, "the path name \"%V\" in %s:%ui has " - "the same name as default path but " + "the same name as default path, but " "the different levels, you need to " "define default path in http section", &p[i]->name, p[i]->conf_file, p[i]->line); 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; diff --git a/src/core/ngx_regex.h b/src/core/ngx_regex.h index f9bf8580f..fb9856780 100644 --- a/src/core/ngx_regex.h +++ b/src/core/ngx_regex.h @@ -14,15 +14,18 @@ #include <pcre.h> -#define NGX_REGEX_CASELESS PCRE_CASELESS +#define NGX_REGEX_NO_MATCHED -1000 + +#define NGX_REGEX_CASELESS PCRE_CASELESS typedef pcre ngx_regex_t; void ngx_regex_init(); ngx_regex_t *ngx_regex_compile(ngx_str_t *pattern, ngx_int_t options, ngx_pool_t *pool, ngx_str_t *err); +ngx_uint_t ngx_regex_capture_count(ngx_regex_t *re); 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); #define ngx_regex_exec_n "pcre_exec()" |