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);

Reply via email to