changeset 4711:7cb78d9289b8 stable-1.2

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.
author Maxim Dounin <mdounin@mdounin.ru>
date Fri, 29 Jun 2012 17:32:43 +0000
parents 5a4666d4b6cb
children c0eeb819ecf1
files auto/modules src/core/ngx_regex.c src/core/ngx_regex.h
diffstat 3 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/auto/modules
+++ b/auto/modules
@@ -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
 
 
--- a/src/core/ngx_regex.c
+++ b/src/core/ngx_regex.c
@@ -152,7 +152,7 @@ ngx_regex_compile(ngx_regex_compile_t *r
         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) {
--- a/src/core/ngx_regex.h
+++ b/src/core/ngx_regex.h
@@ -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()"