From: Timo Sirainen Date: Thu, 10 Apr 2003 20:36:09 +0000 (+0300) Subject: a bit memory allocation tweaks X-Git-Tag: 1.1.alpha1~4758 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=117a8205b803ea358641f279f4e1e10f2cc040e0;p=thirdparty%2Fdovecot%2Fcore.git a bit memory allocation tweaks --HG-- branch : HEAD --- diff --git a/src/lib-index/maildir/maildir-sync.c b/src/lib-index/maildir/maildir-sync.c index 12bdd1adec..07d7b95312 100644 --- a/src/lib-index/maildir/maildir-sync.c +++ b/src/lib-index/maildir/maildir-sync.c @@ -300,6 +300,7 @@ static int maildir_index_sync_dir(struct mail_index *index, const char *dir, const char *fname; void *orig_key, *orig_value; unsigned int new_count; + size_t size; int failed, check_content_changes; i_assert(dir != NULL); @@ -312,7 +313,9 @@ static int maildir_index_sync_dir(struct mail_index *index, const char *dir, } /* read current messages in index into hash */ - pool = pool_alloconly_create("maildir sync", 16384); + size = nearest_power(index->header->messages_count * + sizeof(struct maildir_hash_rec) + 1024); + pool = pool_alloconly_create("maildir sync", I_MAX(size, 16384)); files = hash_create(default_pool, pool, index->header->messages_count*2, maildir_hash, maildir_cmp);