ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Жук в 0.5.24



On Fri, Jun 08, 2007 at 04:48:14PM +0400, Anton Noginov wrote:

>               Коллеги, это я криворукий, или действительно 0.5.24 не 
> собирается? 
> 
>       ./configure --prefix=/home/toxa/nginx  --without-http_rewrite_module
> 
> 
> gcc -c -O -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter 
> -Wno-unused-function -Wunused-variable -Wunused-value -Werror -g  -I src/core 
> -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I 
> src/http/modules >         -o objs/src/http/ngx_http_core_module.o >         src/http/ngx_http_core_module.c
> src/http/ngx_http_core_module.c: In function `ngx_http_core_server':
> src/http/ngx_http_core_module.c:1649: structure has no member named `regex'
> src/http/ngx_http_core_module.c: In function `ngx_http_core_location':
> src/http/ngx_http_core_module.c:1835: structure has no member named `regex'
> make[1]: *** [objs/src/http/ngx_http_core_module.o] Ошибка 1
> make[1]: Выход из каталог `/home/toxa/build/nginx-0.5.24'
> make: *** [build] Ошибка 2

Это 0.5.25 в этом месте сломался. Патч прилагается.


-- 
Игорь Сысоев
http://sysoev.ru
Index: src/http/ngx_http_core_module.c
===================================================================
--- src/http/ngx_http_core_module.c     (revision 564)
+++ src/http/ngx_http_core_module.c     (working copy)
@@ -1552,13 +1552,15 @@
 {
     char                        *rv;
     void                        *mconf;
-    ngx_uint_t                   i, m;
+    ngx_uint_t                   i;
     ngx_conf_t                   pcf;
     ngx_http_module_t           *module;
     ngx_http_conf_ctx_t         *ctx, *http_ctx;
     ngx_http_core_srv_conf_t    *cscf, **cscfp;
+    ngx_http_core_main_conf_t   *cmcf;
+#if (NGX_PCRE)
     ngx_http_core_loc_conf_t   **clcfp;
-    ngx_http_core_main_conf_t   *cmcf;
+#endif
 
     ctx = ngx_pcalloc(cf->pool, sizeof(ngx_http_conf_ctx_t));
     if (ctx == NULL) {
@@ -1582,12 +1584,12 @@
         return NGX_CONF_ERROR;
     }
 
-    for (m = 0; ngx_modules[m]; m++) {
-        if (ngx_modules[m]->type != NGX_HTTP_MODULE) {
+    for (i = 0; ngx_modules[i]; i++) {
+        if (ngx_modules[i]->type != NGX_HTTP_MODULE) {
             continue;
         }
 
-        module = ngx_modules[m]->ctx;
+        module = ngx_modules[i]->ctx;
 
         if (module->create_srv_conf) {
             mconf = module->create_srv_conf(cf);
@@ -1595,7 +1597,7 @@
                 return NGX_CONF_ERROR;
             }
 
-            ctx->srv_conf[ngx_modules[m]->ctx_index] = mconf;
+            ctx->srv_conf[ngx_modules[i]->ctx_index] = mconf;
         }
 
         if (module->create_loc_conf) {
@@ -1604,7 +1606,7 @@
                 return NGX_CONF_ERROR;
             }
 
-            ctx->loc_conf[ngx_modules[m]->ctx_index] = mconf;
+            ctx->loc_conf[ngx_modules[i]->ctx_index] = mconf;
         }
     }
 
@@ -1642,6 +1644,8 @@
     ngx_sort(cscf->locations.elts, (size_t) cscf->locations.nelts,
              sizeof(ngx_http_core_loc_conf_t *), ngx_http_core_cmp_locations);
 
+#if (NGX_PCRE)
+
     cscf->regex_start = cscf->locations.nelts;
     clcfp = cscf->locations.elts;
 
@@ -1652,6 +1656,8 @@
         }
     }
 
+#endif
+
     return rv;
 }
 
@@ -1660,7 +1666,7 @@
 ngx_http_core_location(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy)
 {
     char                      *rv;
-    ngx_uint_t                 i, m;
+    ngx_uint_t                 i;
     ngx_str_t                 *value;
     ngx_conf_t                 save;
     ngx_http_module_t         *module;
@@ -1686,17 +1692,17 @@
         return NGX_CONF_ERROR;
     }
 
-    for (m = 0; ngx_modules[m]; m++) {
-        if (ngx_modules[m]->type != NGX_HTTP_MODULE) {
+    for (i = 0; ngx_modules[i]; i++) {
+        if (ngx_modules[i]->type != NGX_HTTP_MODULE) {
             continue;
         }
 
-        module = ngx_modules[m]->ctx;
+        module = ngx_modules[i]->ctx;
 
         if (module->create_loc_conf) {
-            ctx->loc_conf[ngx_modules[m]->ctx_index] =
+            ctx->loc_conf[ngx_modules[i]->ctx_index] =
                                                    module->create_loc_conf(cf);
-            if (ctx->loc_conf[ngx_modules[m]->ctx_index] == NULL) {
+            if (ctx->loc_conf[ngx_modules[i]->ctx_index] == NULL) {
                  return NGX_CONF_ERROR;
             }
         }
@@ -1828,6 +1834,8 @@
     ngx_sort(clcf->locations->elts, (size_t) clcf->locations->nelts,
              sizeof(ngx_http_core_loc_conf_t *), ngx_http_core_cmp_locations);
 
+#if (NGX_PCRE)
+
     clcf->regex_start = clcf->locations->nelts;
     clcfp = clcf->locations->elts;
 
@@ -1838,6 +1846,8 @@
         }
     }
 
+#endif
+
     return rv;
 }
 


 




Copyright © Lexa Software, 1996-2009.