]> granicus.if.org Git - apache/commitdiff
Fix another Windows build issue: Add a wrapper around ap_run_expr_lookup with
authorStefan Fritsch <sf@apache.org>
Fri, 26 Nov 2010 19:32:13 +0000 (19:32 +0000)
committerStefan Fritsch <sf@apache.org>
Fri, 26 Nov 2010 19:32:13 +0000 (19:32 +0000)
the correct calling convention.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1039528 13f79535-47bb-0310-9956-ffa450edef68

include/ap_expr.h
server/util_expr_eval.c

index f71f8817bb0b102e4bbcbbdba721c17b00344576..dbfff1302e63be31bbeefa6fb1f71ce4b9d62d7d 100644 (file)
@@ -121,14 +121,15 @@ typedef struct {
 
 
 /**
- * The parse can be extended with variable lookup, functions, and
+ * The parser can be extended with variable lookup, functions, and
  * and operators.
  *
  * During parsing, the parser calls the lookup function to resolve a
  * name into a function pointer and an opaque context for the function.
  *
- * The default lookup function is the hook 'ap_run_expr_lookup'.
- * Modules can use it to make functions and variables generally available.
+ * The default lookup function is the hook 'ap_expr_lookup_default' which just
+ * calls ap_expr_lookup_default. Modules can use it to make functions and
+ * variables generally available.
  *
  * An ap_expr consumer can also provide its own custom lookup function to
  * modify the set of variables and functions that are available. The custom
@@ -217,6 +218,12 @@ typedef struct {
  */
 typedef int (ap_expr_lookup_fn)(ap_expr_lookup_parms *parms);
 
+/** Default lookup function which just calls ap_run_expr_lookup().
+ *  ap_run_expr_lookup cannot be used directly because it has the wrong
+ *  calling convention under Windows.
+ */
+AP_DECLARE_NONSTD(int) ap_expr_lookup_default(ap_expr_lookup_parms *parms);
+
 AP_DECLARE_HOOK(int, expr_lookup, (ap_expr_lookup_parms *parms))
 
 /**
index 3b5cf1cb116dd4b23569152edcfcd952d803a86a..ddd94c1a63bd870464224979ce773a312197e8fd 100644 (file)
@@ -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;
 
 
     /*