| 206 | } |
| 207 | |
| 208 | static const char *ap_expr_eval_string_func(ap_expr_eval_ctx_t *ctx, |
| 209 | const ap_expr_t *info, |
| 210 | const ap_expr_t *arg) |
| 211 | { |
| 212 | ap_expr_string_func_t *func = (ap_expr_string_func_t *)info->node_arg1; |
| 213 | const void *data = info->node_arg2; |
| 214 | |
| 215 | AP_DEBUG_ASSERT(info->node_op == op_StringFuncInfo); |
| 216 | AP_DEBUG_ASSERT(func != NULL); |
| 217 | AP_DEBUG_ASSERT(data != NULL); |
| 218 | return (*func)(ctx, data, ap_expr_eval_word(ctx, arg)); |
| 219 | } |
| 220 | |
| 221 | static int intstrcmp(const char *s1, const char *s2) |
| 222 | { |
no test coverage detected