Hi,
On Thursday 25 November 2010, Gregg L. Smith wrote:
> Much better, results seem to be the same as Guenter's;
>
> \server\util_expr_eval.c(350) : error C2440: ':' : cannot convert
> from 'int (__stdcall *)(ap_expr_lookup_parms *)' to
> 'ap_expr_lookup_fn (__cdecl *)'
>
> \server\util_expr_eval.c(350) : error C2440: '=' : cannot convert
> from 'ap_expr_lookup_fn (__stdcall *)' to 'ap_expr_lookup_fn
> (__cdecl *)'
ok, patch number three is attached. I have commited the other changes
to trunk.
Cheers,
Stefan
diff --git a/include/ap_expr.h b/include/ap_expr.h
index f71f881..88f14a4 100644
--- a/include/ap_expr.h
+++ b/include/ap_expr.h
@@ -216,6 +216,7 @@ typedef struct {
* DECLINED if the requested name is not handled by this function
*/
typedef int (ap_expr_lookup_fn)(ap_expr_lookup_parms *parms);
+AP_DECLARE_NONSTD(int) ap_expr_lookup_default(ap_expr_lookup_parms *parms);
AP_DECLARE_HOOK(int, expr_lookup, (ap_expr_lookup_parms *parms))
diff --git a/server/util_expr_eval.c b/server/util_expr_eval.c
index 3b5cf1c..ddd94c1 100644
--- a/server/util_expr_eval.c
+++ b/server/util_expr_eval.c
@@ -327,6 +327,10 @@ static int ssl_expr_eval_comp(ap_expr_eval_ctx *ctx, const ap_expr *node)
}
}
+AP_DECLARE_NONSTD(int) ap_expr_lookup_default(ap_expr_lookup_parms *parms)
+{
+ return ap_run_expr_lookup(parms);
+}
AP_DECLARE(const char *) ap_expr_parse(apr_pool_t *pool, apr_pool_t *ptemp,
ap_expr_info_t *info, const char *expr,
@@ -347,7 +351,7 @@ AP_DECLARE(const char *) ap_expr_parse(apr_pool_t *pool, apr_pool_t *ptemp,
ctx.scan_del = '\0';
ctx.scan_buf[0] = '\0';
ctx.scan_ptr = ctx.scan_buf;
- ctx.lookup_fn = lookup_fn ? lookup_fn : ap_run_expr_lookup;
+ ctx.lookup_fn = lookup_fn ? lookup_fn : ap_expr_lookup_default;
/*