| 426 | } |
| 427 | |
| 428 | AP_DECLARE(ap_expr_info_t*) ap_expr_parse_cmd_mi(const cmd_parms *cmd, |
| 429 | const char *expr, |
| 430 | unsigned int flags, |
| 431 | const char **err, |
| 432 | ap_expr_lookup_fn_t *lookup_fn, |
| 433 | int module_index) |
| 434 | { |
| 435 | ap_expr_info_t *info = apr_pcalloc(cmd->pool, sizeof(ap_expr_info_t)); |
| 436 | info->filename = cmd->directive->filename; |
| 437 | info->line_number = cmd->directive->line_num; |
| 438 | info->flags = flags; |
| 439 | info->module_index = module_index; |
| 440 | |
| 441 | /* Use restricted-contents ap_expr() parser in htaccess context. */ |
| 442 | if (cmd->pool == cmd->temp_pool) { |
| 443 | info->flags |= AP_EXPR_FLAG_RESTRICTED_FILE_FUNC; |
| 444 | } |
| 445 | |
| 446 | *err = ap_expr_parse(cmd->pool, cmd->temp_pool, info, expr, lookup_fn); |
| 447 | |
| 448 | if (*err) |
| 449 | return NULL; |
| 450 | |
| 451 | return info; |
| 452 | } |
| 453 | |
| 454 | ap_expr_t *ap_expr_make(ap_expr_node_op_e op, const void *a1, const void *a2, |
| 455 | ap_expr_parse_ctx_t *ctx) |
nothing calls this directly
no test coverage detected