Skip to content

Commit

Permalink
lib-sieve: Fixed bug in handling of deferred implicit keep with impli…
Browse files Browse the repository at this point in the history
…cit side-effects.

Upon continuing the deferred implicit keep, the implicit side-effects (such as imap flags) were not applied.
  • Loading branch information
stephanbosch committed Apr 27, 2017
1 parent 11d5f19 commit 3e1a17a
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions src/lib-sieve/sieve-result.c
Original file line number Diff line number Diff line change
Expand Up @@ -969,7 +969,14 @@ static int _sieve_result_implicit_keep

rac = rac->next;
}
} else if ( !rollback ) {
act_keep.location = kac->action.location;
act_keep.mail = kac->action.mail;
if ( kac->seffects != NULL )
rsef_first = kac->seffects->first_effect;
}

if (rsef_first == NULL) {
/* Apply any implicit side effects if applicable */
if ( !rollback && hash_table_is_created(result->action_contexts) ) {
struct sieve_result_action_context *actctx;
Expand All @@ -980,11 +987,6 @@ static int _sieve_result_implicit_keep
if ( actctx != NULL && actctx->seffects != NULL )
rsef_first = actctx->seffects->first_effect;
}
} else if ( !rollback ) {
act_keep.location = kac->action.location;
act_keep.mail = kac->action.mail;
if ( kac->seffects != NULL )
rsef_first = kac->seffects->first_effect;
}

/* Start keep action */
Expand Down

0 comments on commit 3e1a17a

Please sign in to comment.