Merge of r4639, r4640: C++ fixes.

Fixed the ngx_regex.h header file compatibility with C++.  Fixed
building --with-cpp_test_module on some systems.
This commit is contained in:
Maxim Dounin 2012-06-29 17:32:43 +00:00
parent 71b7e2294a
commit 917e4ab3fb
3 changed files with 6 additions and 5 deletions

View File

@ -458,6 +458,7 @@ fi
if [ $NGX_CPP_TEST = YES ]; then
NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_CPP_TEST_SRCS"
CORE_LIBS="$CORE_LIBS -lstdc++"
fi

View File

@ -152,7 +152,7 @@ ngx_regex_compile(ngx_regex_compile_t *rc)
return NGX_ERROR;
}
rc->regex->pcre = re;
rc->regex->code = re;
/* do not study at runtime */
@ -367,7 +367,7 @@ ngx_regex_module_init(ngx_cycle_t *cycle)
i = 0;
}
elts[i].regex->extra = pcre_study(elts[i].regex->pcre, opt, &errstr);
elts[i].regex->extra = pcre_study(elts[i].regex->code, opt, &errstr);
if (errstr != NULL) {
ngx_log_error(NGX_LOG_ALERT, cycle->log, 0,
@ -380,7 +380,7 @@ ngx_regex_module_init(ngx_cycle_t *cycle)
int jit, n;
jit = 0;
n = pcre_fullinfo(elts[i].regex->pcre, elts[i].regex->extra,
n = pcre_fullinfo(elts[i].regex->code, elts[i].regex->extra,
PCRE_INFO_JIT, &jit);
if (n != 0 || jit != 1) {

View File

@ -21,7 +21,7 @@
typedef struct {
pcre *pcre;
pcre *code;
pcre_extra *extra;
} ngx_regex_t;
@ -50,7 +50,7 @@ void ngx_regex_init(void);
ngx_int_t ngx_regex_compile(ngx_regex_compile_t *rc);
#define ngx_regex_exec(re, s, captures, size) \
pcre_exec(re->pcre, re->extra, (const char *) (s)->data, (s)->len, 0, 0, \
pcre_exec(re->code, re->extra, (const char *) (s)->data, (s)->len, 0, 0, \
captures, size)
#define ngx_regex_exec_n "pcre_exec()"