lib: Return added message even if it already was in the database
authorMichal Sojka <sojkam1@fel.cvut.cz>
Sun, 31 Oct 2010 21:29:15 +0000 (22:29 +0100)
committerCarl Worth <cworth@cworth.org>
Wed, 10 Nov 2010 21:09:31 +0000 (13:09 -0800)
lib/database.cc
lib/notmuch.h

index 82c078867a52dee07a61dbaf6bea77044d578398..7a00917ec709ce3f7b30fff2699b993d2860840c 100644 (file)
@@ -1670,7 +1670,8 @@ notmuch_database_add_message (notmuch_database_t *notmuch,
 
   DONE:
     if (message) {
-       if (ret == NOTMUCH_STATUS_SUCCESS && message_ret)
+       if ((ret == NOTMUCH_STATUS_SUCCESS ||
+            ret == NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID) && message_ret)
            *message_ret = message;
        else
            notmuch_message_destroy (message);
index bd0880f3a232df162e90db66daac6b70e0f47394..61c68d65df151f084a878da44335fe82f169bcaf 100644 (file)
@@ -238,7 +238,8 @@ notmuch_database_get_directory (notmuch_database_t *database,
  * notmuch database will reference the filename, and will not copy the
  * entire contents of the file.
  *
- * If 'message' is not NULL, then, on successful return '*message'
+ * If 'message' is not NULL, then, on successful return
+ * (NOTMUCH_STATUS_SUCCESS or NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID) '*message'
  * will be initialized to a message object that can be used for things
  * such as adding tags to the just-added message. The user should call
  * notmuch_message_destroy when done with the message. On any failure