]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Another fix for doing multiple changes via mailbox_attribute_set/unset
authorTimo Sirainen <tss@iki.fi>
Mon, 20 Jul 2015 07:33:39 +0000 (10:33 +0300)
committerTimo Sirainen <tss@iki.fi>
Mon, 20 Jul 2015 07:33:39 +0000 (10:33 +0300)
src/lib-storage/index/index-attribute.c

index 2465fbd3f5320870657a4cac56cd1193ea0c72e0..645bc38aab753bb197463421e12a0e9c53f30b76 100644 (file)
@@ -159,6 +159,7 @@ index_storage_attribute_get_dict_trans(struct mailbox_transaction_context *t,
 {
        struct dict_transaction_context **dtransp = NULL;
        struct dict *dict;
+       struct mailbox_metadata metadata;
 
        switch (type) {
        case MAIL_ATTRIBUTE_TYPE_PRIVATE:
@@ -172,6 +173,10 @@ index_storage_attribute_get_dict_trans(struct mailbox_transaction_context *t,
 
        if (*dtransp != NULL) {
                /* transaction already created */
+               if (mailbox_get_metadata(t->box, MAILBOX_METADATA_GUID,
+                                        &metadata) < 0)
+                       return -1;
+               *mailbox_prefix_r = guid_128_to_string(metadata.guid);
                *dtrans_r = *dtransp;
                return 0;
        }