* correctly, and the caller doesn't have to do it.
*/
-extern fr_dict_attr_t const *attr_cast_base; /* xlat_expr.c */
-
static xlat_arg_parser_t const cast_xlat_args[] = {
{ .required = true, .type = FR_TYPE_INT32 },
{ .required = true, .type = FR_TYPE_VOID },
#define XLAT_BINARY_FUNC(_name, _op) \
static xlat_action_t xlat_func_ ## _name(TALLOC_CTX *ctx, fr_dcursor_t *out, \
- UNUSED xlat_ctx_t const *xctx, \
+ xlat_ctx_t const *xctx, \
request_t *request, fr_value_box_list_t *in) \
{ \
return xlat_binary_op(ctx, out, xctx, request, in, _op); \
static xlat_action_t xlat_func_unary_sub(TALLOC_CTX *ctx, fr_dcursor_t *out,
UNUSED xlat_ctx_t const *xctx,
- UNUSED request_t *request, fr_value_box_list_t *in)
+ request_t *request, fr_value_box_list_t *in)
{
int rcode;
fr_value_box_t *dst, a, *b;
/*
* xlat_eval.c
*/
+extern fr_dict_attr_t const *attr_cast_base;
+
void xlat_signal(xlat_func_signal_t signal, xlat_exp_t const *exp,
request_t *request, void *rctx, fr_state_signal_t action);