Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6324:1b0db9d04b2e HEAD
Parse keywords from header immediately when mapping the index file.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 27 Aug 2007 18:28:53 +0300 |
parents | 4a6dd4e894b4 |
children | 3d48109409bf |
files | src/lib-index/mail-index-map.c src/lib-index/mail-index.c |
diffstat | 2 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-index-map.c Mon Aug 27 18:28:30 2007 +0300 +++ b/src/lib-index/mail-index-map.c Mon Aug 27 18:28:53 2007 +0300 @@ -681,10 +681,17 @@ if (ret > 0) { /* make sure the header is ok before using this mapping */ ret = mail_index_check_header(new_map); - if (ret >= 0) + if (ret >= 0) { ret = mail_index_parse_extensions(new_map); - if (ret++ == 0) + if (ret > 0) { + if (mail_index_map_parse_keywords(new_map) < 0) + ret = -1; + } + } + if (ret == 0) index->fsck = TRUE; + else if (ret < 0) + ret = 0; } if (ret <= 0) { mail_index_unmap(&new_map);
--- a/src/lib-index/mail-index.c Mon Aug 27 18:28:30 2007 +0300 +++ b/src/lib-index/mail-index.c Mon Aug 27 18:28:53 2007 +0300 @@ -322,10 +322,6 @@ const ARRAY_TYPE(keywords) *mail_index_get_keywords(struct mail_index *index) { - /* Make sure all the keywords are in index->keywords. It's quick to do - if nothing has changed. */ - (void)mail_index_map_parse_keywords(index->map); - return &index->keywords; }