X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=lib%2Fadd-message.cc;h=f0a80c4f1596ba5eadade935b523b43a25b03433;hb=50340bcb78586dc63b5e0914563665b30e8f88d0;hp=2922eaa9e9b2f8088d0b454a841d85bb1668862d;hpb=4fdabd636e1b0417bb40c71bdce64e18f0f347e2;p=notmuch diff --git a/lib/add-message.cc b/lib/add-message.cc index 2922eaa9..f0a80c4f 100644 --- a/lib/add-message.cc +++ b/lib/add-message.cc @@ -529,19 +529,22 @@ notmuch_database_add_message (notmuch_database_t *notmuch, if (is_ghost) /* Convert ghost message to a regular message */ _notmuch_message_remove_term (message, "type", "ghost"); - ret = _notmuch_database_link_message (notmuch, message, + } + + ret = _notmuch_database_link_message (notmuch, message, message_file, is_ghost); - if (ret) - goto DONE; + if (ret) + goto DONE; + if (is_new || is_ghost) _notmuch_message_set_header_values (message, date, from, subject); - ret = _notmuch_message_index_file (message, message_file); - if (ret) - goto DONE; - } else { + ret = _notmuch_message_index_file (message, message_file); + if (ret) + goto DONE; + + if (! is_new && !is_ghost) ret = NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID; - } _notmuch_message_sync (message); } catch (const Xapian::Error &error) {