]> code.citadel.org Git - citadel.git/blobdiff - citadel/server/modules/imap/imap_misc.c
Fixed imap_append() from clearing all flags on messages and avoid purge_user() from...
[citadel.git] / citadel / server / modules / imap / imap_misc.c
index 8d785cb61784fc5b014f92a467c246ca5e7c600f..e91d748aaa0b1a77aa55697ea9092357757d27cd 100644 (file)
@@ -384,6 +384,9 @@ void imap_append(int num_parms, ConstStr *Params) {
                        new_msgnum = CtdlSubmitMsg(msg, NULL, "");
                }
                if (new_msgnum >= 0L) {
+                       if (IsEmptyStr(new_message_flags)) {
+                                       imap_do_append_flags(new_msgnum, new_message_flags);
+                       }
                        IReplyPrintf("OK [APPENDUID %ld %ld] APPEND completed",
                                     GLOBAL_UIDVALIDITY_VALUE, new_msgnum);
                }
@@ -405,8 +408,4 @@ void imap_append(int num_parms, ConstStr *Params) {
 
        /* We don't need this buffer anymore */
        CM_Free(msg);
-
-       if (IsEmptyStr(new_message_flags)) {
-               imap_do_append_flags(new_msgnum, new_message_flags);
-       }
 }