# HG changeset patch # User Timo Sirainen # Date 1189850866 -10800 # Node ID 15defb57016416159aa6744d95c6407664626fb2 # Parent 1d993d28e12f6cc15950cb6a07bd1aa72588ce53 If view is inconsistent, keep mail->seq valid anyway. diff -r 1d993d28e12f -r 15defb570164 src/lib-storage/index/index-mail.c --- a/src/lib-storage/index/index-mail.c Sat Sep 15 13:07:01 2007 +0300 +++ b/src/lib-storage/index/index-mail.c Sat Sep 15 13:07:46 2007 +0300 @@ -978,6 +978,9 @@ data->seq = seq; data->flags = rec->flags & MAIL_FLAGS_NONRECENT; + mail->mail.mail.seq = seq; + mail->mail.mail.uid = rec->uid; + if (mail_index_view_is_inconsistent(mail->trans->trans_view)) { mail_set_expunged(&mail->mail.mail); return; @@ -989,16 +992,12 @@ (void)index_mail_get_fixed_field(mail, MAIL_CACHE_FLAGS, &data->cache_flags, sizeof(data->cache_flags)); + mail->mail.mail.has_nuls = + (data->cache_flags & MAIL_CACHE_FLAG_HAS_NULS) != 0; + mail->mail.mail.has_no_nuls = + (data->cache_flags & MAIL_CACHE_FLAG_HAS_NO_NULS) != 0; } - /* set public fields */ - mail->mail.mail.seq = seq; - mail->mail.mail.uid = rec->uid; - mail->mail.mail.has_nuls = - (data->cache_flags & MAIL_CACHE_FLAG_HAS_NULS) != 0; - mail->mail.mail.has_no_nuls = - (data->cache_flags & MAIL_CACHE_FLAG_HAS_NO_NULS) != 0; - /* see if wanted_fields can tell us if we need to read/parse header/body */ if ((mail->wanted_fields & MAIL_FETCH_MESSAGE_PARTS) != 0) {