From: Austin Clements Date: Sun, 22 Apr 2012 15:50:52 +0000 (-0400) Subject: new: Fix missing end_atomic in remove_filename on error X-Git-Tag: 0.13_rc1~66 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=2e7b6494046342872f1f79418679b1554d6d1005;hp=746fef0aeafe1f29720140ab8778cdee22d519cb new: Fix missing end_atomic in remove_filename on error Previously, if we failed to find the message by filename in remove_filename, we would return immediately from the function without ending its atomic block. Now this code follows the usual goto DONE idiom to perform cleanup. --- diff --git a/notmuch-new.c b/notmuch-new.c index bf9b1209..473201e9 100644 --- a/notmuch-new.c +++ b/notmuch-new.c @@ -779,7 +779,8 @@ remove_filename (notmuch_database_t *notmuch, return status; status = notmuch_database_find_message_by_filename (notmuch, path, &message); if (status || message == NULL) - return status; + goto DONE; + status = notmuch_database_remove_message (notmuch, path); if (status == NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID) { add_files_state->renamed_messages++; @@ -790,6 +791,8 @@ remove_filename (notmuch_database_t *notmuch, add_files_state->removed_messages++; } notmuch_message_destroy (message); + + DONE: notmuch_database_end_atomic (notmuch); return status; }