{
fr_value_box_t box;
- RDEBUG("UPDATE");
+ if (!state->key) return 0;
fr_value_box_clear_value(&state->key->data);
return -1;
}
- RDEBUG("KEY %pP", state->key);
-
return 0;
}
static void unlang_foreach_attr_key_update(UNUSED request_t *request, unlang_frame_state_foreach_t *state)
{
+ if (state->key) return;
+
fr_value_box_clear_value(&state->key->data);
if (tmpl_dcursor_print(&FR_SBUFF_IN(state->buffer, BUFFER_SIZE), &state->cc) > 0) {
fr_value_box_strdup(state->key, &state->key->data, NULL, state->buffer, false);
return UNLANG_ACTION_CALCULATE_RESULT;
}
- if (state->key) {
- unlang_foreach_attr_key_update(request, state);
- }
+ unlang_foreach_attr_key_update(request, state);
/*
* Copy the data.
/*
* Update the key with the current path or index.
*/
- if (state->key) {
- unlang_foreach_attr_key_update(request, state);
- }
+ unlang_foreach_attr_key_update(request, state);
if (vp->vp_type == FR_TYPE_GROUP) {
fr_assert(state->value->vp_type == FR_TYPE_GROUP);