From: Arran Cudbard-Bell Date: Sun, 28 Jan 2018 22:36:30 +0000 (-0700) Subject: ...an xlat can yield multiple times X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=be3c06141b8a0f962bb83ec382357e1cf607f9f9;p=thirdparty%2Ffreeradius-server.git ...an xlat can yield multiple times --- diff --git a/src/main/xlat_eval.c b/src/main/xlat_eval.c index 9eae6f61217..98a7d5fc8e6 100644 --- a/src/main/xlat_eval.c +++ b/src/main/xlat_eval.c @@ -655,13 +655,18 @@ xlat_action_t xlat_frame_eval_resume(TALLOC_CTX *ctx, fr_cursor_t *out, if (*result) (void) talloc_list_get_type_abort(*result, fr_value_box_t); xa = resume(ctx, out, request, exp->inst, thread_inst->data, result, rctx); if (*result) (void) talloc_list_get_type_abort(*result, fr_value_box_t); + + RDEBUG2("EXPAND %%{%s:...}", exp->xlat->name); switch (xa) { default: break; + case XLAT_ACTION_YIELD: + RDEBUG2(" -- YIELD"); + break; + case XLAT_ACTION_DONE: fr_cursor_next(out); /* Wind to the start of this functions output */ - RDEBUG2("EXPAND %%{%s:...}", exp->xlat->name); RDEBUG2(" --> %pM", fr_cursor_current(out)); break;