You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by NormW <no...@gknw.net> on 2010/11/06 22:36:49 UTC

svn commit r1032073 - NetWare build 'problems'

Hi,
See a needed tweak similar to the following for the root build file:
> --- NWGNUmakefile.orig	2010-10-25 05:36:20.812500000 +1000
> +++ NWGNUmakefile	2010-11-07 07:49:57.234375000 +1100
> @@ -71,6 +71,7 @@
>  			$(STDMOD)/mappers \
>  			$(STDMOD)/proxy \
>  			$(STDMOD)/ssl \
> +			$(AP_WORK)/server \
>  			$(AP_WORK)/server/mpm/netware \
>  			$(PCRE) \
>  			$(NWOS) \
> @@ -269,7 +270,9 @@
>  	$(OBJDIR)/util_charset.o \
>  	$(OBJDIR)/util_cookies.o \
>  	$(OBJDIR)/util_debug.o \
> -	$(OBJDIR)/util_expr.o \
> +	$(OBJDIR)/util_expr_eval.o \
> +	$(OBJDIR)/util_expr_parse.o \
> +	$(OBJDIR)/util_expr_scan.o \
>  	$(OBJDIR)/util_filter.o \
>  	$(OBJDIR)/util_md5.o \
>  	$(OBJDIR)/util_mutex.o \

Also 'needed' is the following minor reshuffle in util_expr_eval.c:
> --- server\util_expr_eval.c.orig	2010-11-07 06:55:22.765625000 +1100
> +++ server\util_expr_eval.c	2010-11-07 07:58:10.609375000 +1100
> @@ -884,8 +884,8 @@
>  static const char *misc_var_fn(ap_expr_eval_ctx *ctx, const void *data)
>  {
>      apr_time_exp_t tm;
> -    apr_time_exp_lt(&tm, apr_time_now());
>      int index = ((const char **)data - misc_var_names);
> +    apr_time_exp_lt(&tm, apr_time_now());
>
>      switch (index) {
>      case 0:

And, see the following, but not yet solved:
> Compiling server/util_expr_eval.c
> ### mwccnlm Compiler:
> #    File: server\util_expr_eval.c
> # --------------------------------
> #      86:      ap_expr_string_func_t *func = info->node_arg1;
> #   Error:                                                   ^
> #   illegal implicit conversion from 'const void *const ' to
> #   'char * (*)(struct  *, const void *, const char *)'
> ### mwccnlm Compiler:
> #     189:                  ap_expr_list_func_t *func = info->node_arg1;
> #   Error:                                                             ^
> #   illegal implicit conversion from 'const void *const ' to
> #   'struct apr_array_header_t * (*)(struct  *, const void *, const char *)'
>
> Compiling server/util_expr_scan.c
> ### mwccnlm Compiler:
> #    File: server\util_expr_scan.c
> # --------------------------------
> #    1141:      char c[2] = { yytext[0], '\0' };
> #   Error:                              ^
> #   illegal constant expression
> ### mwccnlm Compiler:
> #    1446:      char c[2] = { yytext[0], '\0' };
> #   Error:                              ^
> #   illegal constant expression
>

Norm

Re: svn commit r1032073 - NetWare build 'problems'

Posted by NormW <no...@gknw.net>.
Hi,
Diffs to util_expr_eval.c and util_expr_scan.c below fix issues noted 
and now get apache2 nlm.
Thx
Norm

On 7/11/2010 9:10 AM, Stefan Fritsch wrote:
> Hi,
>
> On Sun, 7 Nov 2010, NormW wrote:
>> See a needed tweak similar to the following for the root build file:
>
> ...
>
>> Also 'needed' is the following minor reshuffle in util_expr_eval.c:
>
> ...
>
> Commited. Thanks.
>
>> And, see the following, but not yet solved:
>>> Compiling server/util_expr_eval.c
>>> ### mwccnlm Compiler:
>>> # File: server\util_expr_eval.c
>>> # --------------------------------
>>> # 86: ap_expr_string_func_t *func = info->node_arg1;
>>> # Error: ^
>>> # illegal implicit conversion from 'const void *const ' to
>>> # 'char * (*)(struct *, const void *, const char *)'
>>> ### mwccnlm Compiler:
>>> # 189: ap_expr_list_func_t *func = info->node_arg1;
>>> # Error: ^
>>> # illegal implicit conversion from 'const void *const ' to
>>> # 'struct apr_array_header_t * (*)(struct *, const void *, const char
>>> *)'
>>>
>>> Compiling server/util_expr_scan.c
>>> ### mwccnlm Compiler:
>>> # File: server\util_expr_scan.c
>>> # --------------------------------
>>> # 1141: char c[2] = { yytext[0], '\0' };
>>> # Error: ^
>>> # illegal constant expression
>>> ### mwccnlm Compiler:
>>> # 1446: char c[2] = { yytext[0], '\0' };
>>> # Error: ^
>>> # illegal constant expression
>
>
> Please try this patch:
>
> --- server/util_expr_scan.c (Revision 1032160)
> +++ server/util_expr_scan.c (Arbeitskopie)
> @@ -1138,9 +1138,8 @@
> YY_RULE_SETUP
> #line 198 "util_expr_scan.l"
> {
> - char c[2] = { yytext[0], '\0' };
> char *msg = apr_psprintf(yyextra->pool,
> - "Invalid character in variable name '%s'", c);
> + "Invalid character in variable name '%c'", yytext[0]);
> PERROR(msg);
> }
> YY_BREAK
> @@ -1443,8 +1442,7 @@
> YY_RULE_SETUP
> #line 336 "util_expr_scan.l"
> {
> - char c[2] = { yytext[0], '\0' };
> - char *msg = apr_psprintf(yyextra->pool, "Parse error near '%s'", c);
> + char *msg = apr_psprintf(yyextra->pool, "Parse error near '%c'",
> yytext[0]);
> PERROR(msg);
> }
> YY_BREAK
> --- server/util_expr_eval.c (Revision 1032163)
> +++ server/util_expr_eval.c (Arbeitskopie)
> @@ -83,7 +83,7 @@
> static const char *ap_expr_eval_string_func(ap_expr_eval_ctx *ctx, const
> ap_expr *info,
> const ap_expr *arg)
> {
> - ap_expr_string_func_t *func = info->node_arg1;
> + ap_expr_string_func_t *func = (ap_expr_string_func_t *)info->node_arg1;
> const void *data = info->node_arg2;
>
> AP_DEBUG_ASSERT(info->node_op == op_StringFuncInfo);
> @@ -186,7 +186,7 @@
> else if (e2->node_op == op_ListFuncCall) {
> const ap_expr *info = e2->node_arg1;
> const ap_expr *arg = e2->node_arg2;
> - ap_expr_list_func_t *func = info->node_arg1;
> + ap_expr_list_func_t *func = (ap_expr_list_func_t *)info->node_arg1;
> apr_array_header_t *haystack;
> int i = 0;
> AP_DEBUG_ASSERT(func != NULL);
>


Re: svn commit r1032073 - NetWare build 'problems'

Posted by Stefan Fritsch <sf...@sfritsch.de>.
Hi,

On Sun, 7 Nov 2010, NormW wrote:
> See a needed tweak similar to the following for the root build file:

...

> Also 'needed' is the following minor reshuffle in util_expr_eval.c:

...

Commited. Thanks.

> And, see the following, but not yet solved:
>> Compiling server/util_expr_eval.c
>> ### mwccnlm Compiler:
>> #    File: server\util_expr_eval.c
>> # --------------------------------
>> #      86:      ap_expr_string_func_t *func = info->node_arg1;
>> #   Error:                                                   ^
>> #   illegal implicit conversion from 'const void *const ' to
>> #   'char * (*)(struct  *, const void *, const char *)'
>> ### mwccnlm Compiler:
>> #     189:                  ap_expr_list_func_t *func = info->node_arg1;
>> #   Error:                                                             ^
>> #   illegal implicit conversion from 'const void *const ' to
>> #   'struct apr_array_header_t * (*)(struct  *, const void *, const char 
>> *)'
>> 
>> Compiling server/util_expr_scan.c
>> ### mwccnlm Compiler:
>> #    File: server\util_expr_scan.c
>> # --------------------------------
>> #    1141:      char c[2] = { yytext[0], '\0' };
>> #   Error:                              ^
>> #   illegal constant expression
>> ### mwccnlm Compiler:
>> #    1446:      char c[2] = { yytext[0], '\0' };
>> #   Error:                              ^
>> #   illegal constant expression


Please try this patch:

--- server/util_expr_scan.c     (Revision 1032160)
+++ server/util_expr_scan.c     (Arbeitskopie)
@@ -1138,9 +1138,8 @@
  YY_RULE_SETUP
  #line 198 "util_expr_scan.l"
  {
-    char c[2] = { yytext[0], '\0' };
      char *msg = apr_psprintf(yyextra->pool,
-                             "Invalid character in variable name '%s'", c);
+                             "Invalid character in variable name '%c'", yytext[0]);
      PERROR(msg);
  }
         YY_BREAK
@@ -1443,8 +1442,7 @@
  YY_RULE_SETUP
  #line 336 "util_expr_scan.l"
  {
-    char c[2] = { yytext[0], '\0' };
-    char *msg = apr_psprintf(yyextra->pool, "Parse error near '%s'", c);
+    char *msg = apr_psprintf(yyextra->pool, "Parse error near '%c'", yytext[0]);
      PERROR(msg);
  }
         YY_BREAK
--- server/util_expr_eval.c     (Revision 1032163)
+++ server/util_expr_eval.c     (Arbeitskopie)
@@ -83,7 +83,7 @@
  static const char *ap_expr_eval_string_func(ap_expr_eval_ctx *ctx, const 
ap_expr *info,
                                              const ap_expr *arg)
  {
-    ap_expr_string_func_t *func = info->node_arg1;
+    ap_expr_string_func_t *func = (ap_expr_string_func_t *)info->node_arg1;
      const void *data = info->node_arg2;

      AP_DEBUG_ASSERT(info->node_op == op_StringFuncInfo);
@@ -186,7 +186,7 @@
              else if (e2->node_op == op_ListFuncCall) {
                  const ap_expr *info = e2->node_arg1;
                  const ap_expr *arg = e2->node_arg2;
-                ap_expr_list_func_t *func = info->node_arg1;
+                ap_expr_list_func_t *func = (ap_expr_list_func_t *)info->node_arg1;
                  apr_array_header_t *haystack;
                  int i = 0;
                  AP_DEBUG_ASSERT(func != NULL);