From: Timo Sirainen Date: Wed, 26 May 2004 02:40:24 +0000 (+0300) Subject: fix X-Git-Tag: 1.1.alpha1~4040 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ace3c14e47a5a865df8aeea2fabc993b609dd163;p=thirdparty%2Fdovecot%2Fcore.git fix --HG-- branch : HEAD --- diff --git a/src/lib-index/mail-index-sync-update.c b/src/lib-index/mail-index-sync-update.c index ccd683f171..2a28122681 100644 --- a/src/lib-index/mail-index-sync-update.c +++ b/src/lib-index/mail-index-sync-update.c @@ -110,21 +110,20 @@ static int sync_append(const struct mail_index_record *rec, void *context) } if (MAIL_INDEX_MAP_IS_IN_MEMORY(map)) { - if (map->records_count * sizeof(*rec) > - buffer_get_used_size(map->buffer)) { - (void)buffer_append_space_unsafe(map->buffer, - sizeof(*rec)); - map->records = - buffer_get_modifyable_data(map->buffer, NULL); - } + i_assert(map->records_count * sizeof(*rec) == + buffer_get_used_size(map->buffer)); + buffer_append(map->buffer, rec, sizeof(*rec)); + map->records = buffer_get_modifyable_data(map->buffer, NULL); } else { - i_assert(map->records_count * sizeof(*rec) <= map->mmap_size); + i_assert((map->records_count+1) * sizeof(*rec) <= + map->mmap_size); + map->records[map->records_count] = *rec; } - map->records[map->records_count++] = *rec; map->hdr_copy.messages_count++; map->hdr_copy.next_uid = rec->uid+1; view->messages_count++; + map->records_count++; mail_index_header_update_counts(&map->hdr_copy, 0, rec->flags); mail_index_header_update_lowwaters(&map->hdr_copy, rec);