@@ -2788,27 +2788,27 @@ static int write_entry(struct mailbox *mailbox,
2788
2788
2789
2789
keylen = make_key (mboxname , uid , entry , userid , key , sizeof (key ));
2790
2790
2791
- if (mailbox ) {
2792
- struct annotate_metadata oldmdata ;
2793
- r = read_old_value (d , key , keylen , & oldval , & oldmdata );
2794
- if (r ) goto out ;
2791
+ struct annotate_metadata oldmdata ;
2792
+ r = read_old_value (d , key , keylen , & oldval , & oldmdata );
2793
+ if (r ) goto out ;
2795
2794
2796
- /* if the value is identical, don't touch the mailbox */
2797
- if (oldval .len == value -> len && (!value -> len || !memcmp (oldval .s , value -> s , value -> len )))
2798
- goto out ;
2795
+ /* if the value is identical, don't touch the mailbox */
2796
+ if (oldval .len == value -> len && (!value -> len || !memcmp (oldval .s , value -> s , value -> len )))
2797
+ goto out ;
2798
+
2799
+ if (!maywrite ) {
2800
+ r = IMAP_PERMISSION_DENIED ;
2801
+ if (r ) goto out ;
2802
+ }
2799
2803
2804
+ if (mailbox ) {
2800
2805
if (!ignorequota ) {
2801
2806
quota_t qdiffs [QUOTA_NUMRESOURCES ] = QUOTA_DIFFS_DONTCARE_INITIALIZER ;
2802
2807
qdiffs [QUOTA_ANNOTSTORAGE ] = value -> len - (quota_t )oldval .len ;
2803
2808
r = mailbox_quota_check (mailbox , qdiffs );
2804
2809
if (r ) goto out ;
2805
2810
}
2806
2811
2807
- if (!maywrite ) {
2808
- r = IMAP_PERMISSION_DENIED ;
2809
- if (r ) goto out ;
2810
- }
2811
-
2812
2812
/* do the annot-changed here before altering the DB */
2813
2813
mailbox_annot_changed (mailbox , uid , entry , userid , & oldval , value , silent );
2814
2814
0 commit comments