From d1bf5928f1083a8b0ae09fa54d808374761a1f86 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan.bosch@open-xchange.com> Date: Mon, 10 May 2021 01:17:55 +0200 Subject: [PATCH] lib-sieve: sieve-result - Move sieve_result_action_rollback(). --- src/lib-sieve/sieve-result.c | 56 ++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/lib-sieve/sieve-result.c b/src/lib-sieve/sieve-result.c index 65a8604fa..d66b0206c 100644 --- a/src/lib-sieve/sieve-result.c +++ b/src/lib-sieve/sieve-result.c @@ -1044,6 +1044,34 @@ sieve_result_action_commit(struct sieve_result_execution *rexec, return cstatus; } +static void +sieve_result_action_rollback(struct sieve_result_execution *rexec, + struct sieve_result_action *rac) +{ + struct sieve_action *act = &rac->action; + struct sieve_result_side_effect *rsef; + + if (act->def->rollback != NULL) { + sieve_action_execution_pre(rexec, act); + act->def->rollback(&rexec->action_env, rac->tr_context, + rac->success); + } + + /* Rollback side effects */ + rsef = (rac->seffects != NULL ? rac->seffects->first_effect : NULL); + while (rsef != NULL) { + struct sieve_side_effect *sef = &rsef->seffect; + + if (sef->def != NULL && sef->def->rollback != NULL) { + sieve_action_execution_pre(rexec, act); + sef->def->rollback(sef, &rexec->action_env, + rac->tr_context, rac->success); + } + rsef = rsef->next; + } + sieve_action_execution_post(rexec); +} + /* Result */ struct sieve_result_execution * @@ -1319,34 +1347,6 @@ sieve_result_transaction_execute(struct sieve_result_execution *rexec, return status; } -static void -sieve_result_action_rollback(struct sieve_result_execution *rexec, - struct sieve_result_action *rac) -{ - struct sieve_action *act = &rac->action; - struct sieve_result_side_effect *rsef; - - if (act->def->rollback != NULL) { - sieve_action_execution_pre(rexec, act); - act->def->rollback(&rexec->action_env, rac->tr_context, - rac->success); - } - - /* Rollback side effects */ - rsef = (rac->seffects != NULL ? rac->seffects->first_effect : NULL); - while (rsef != NULL) { - struct sieve_side_effect *sef = &rsef->seffect; - - if (sef->def != NULL && sef->def->rollback != NULL) { - sieve_action_execution_pre(rexec, act); - sef->def->rollback(sef, &rexec->action_env, - rac->tr_context, rac->success); - } - rsef = rsef->next; - } - sieve_action_execution_post(rexec); -} - static int sieve_result_action_commit_or_rollback(struct sieve_result_execution *rexec, struct sieve_result_action *rac, -- GitLab