Mercurial > dovecot > original-hg > dovecot-1.2
changeset 126:cf7de0db6ba8 HEAD
Flags for new messages weren't set properly, so the header sum counters were
wrong.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 03 Sep 2002 22:31:00 +0300 |
parents | 2c641eb4324b |
children | 90a604e78df1 |
files | src/lib-index/mail-index.c src/lib-index/maildir/maildir-build.c src/lib-index/mbox/mbox-append.c |
diffstat | 3 files changed, 13 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-index.c Tue Sep 03 22:08:50 2002 +0300 +++ b/src/lib-index/mail-index.c Tue Sep 03 22:31:00 2002 +0300 @@ -132,9 +132,10 @@ } failed = FALSE; - if (!mail_hash_sync_file(index->hash)) + if (index->hash != NULL && !mail_hash_sync_file(index->hash)) failed = TRUE; - if (!mail_modifylog_sync_file(index->modifylog)) + if (index->modifylog != NULL && + !mail_modifylog_sync_file(index->modifylog)) failed = TRUE; /* keep index's modify stamp same as the sync file's stamp */ @@ -1310,7 +1311,7 @@ int external_change) { i_assert(index->lock_type == MAIL_LOCK_EXCLUSIVE); - i_assert(seq != 0); + i_assert(seq != 0 || !external_change); if (flags == rec->msg_flags) return TRUE; /* no changes */
--- a/src/lib-index/maildir/maildir-build.c Tue Sep 03 22:08:50 2002 +0300 +++ b/src/lib-index/maildir/maildir-build.c Tue Sep 03 22:31:00 2002 +0300 @@ -60,9 +60,6 @@ if (rec == NULL) return FALSE; - /* set message flags from file name */ - rec->msg_flags = maildir_filename_get_flags(fname, 0); - update = index->update_begin(index, rec); /* set the location */ @@ -78,6 +75,11 @@ return FALSE; } + /* set message flags from file name, after location field is saved */ + if (!index->update_flags(index, rec, 0, + maildir_filename_get_flags(fname, 0), FALSE)) + return FALSE; + return TRUE; }
--- a/src/lib-index/mbox/mbox-append.c Tue Sep 03 22:08:50 2002 +0300 +++ b/src/lib-index/mbox/mbox-append.c Tue Sep 03 22:31:00 2002 +0300 @@ -160,9 +160,6 @@ inbuf->size = old_size; io_buffer_seek(inbuf, stop_offset); - /* save message flags */ - rec->msg_flags |= ctx.flags; - /* save MD5 */ md5_final(&ctx.md5, md5_digest); index->update_field(update, FIELD_TYPE_MD5, @@ -174,6 +171,10 @@ return FALSE; } + /* save message flags, after location field is saved */ + if (!index->update_flags(index, rec, 0, ctx.flags, FALSE)) + return FALSE; + return TRUE; }