Mercurial > dovecot > original-hg > dovecot-1.2
changeset 3085:73944f902165 HEAD
don't allocate memory from data stack uselessly.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 10 Jan 2005 18:14:41 +0200 |
parents | 873ce1b9747e |
children | 66c44404f9a1 |
files | src/lib-storage/index/maildir/maildir-sync.c |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/maildir/maildir-sync.c Sun Jan 09 22:29:08 2005 +0200 +++ b/src/lib-storage/index/maildir/maildir-sync.c Mon Jan 10 18:14:41 2005 +0200 @@ -600,6 +600,7 @@ struct mail_index_transaction *trans; const struct mail_index_header *hdr; const struct mail_index_record *rec; + pool_t keyword_pool; uint32_t seq, uid; enum maildir_uidlist_rec_flag uflags; const char *filename; @@ -625,11 +626,13 @@ trans = mail_index_transaction_begin(view, FALSE, TRUE); sync_ctx->trans = trans; + keyword_pool = pool_alloconly_create("maildir keywords", 128); + seq = 0; iter = maildir_uidlist_iter_init(ibox->uidlist); while (maildir_uidlist_iter_next(iter, &uid, &uflags, &filename)) { - // FIXME: t_push.. - maildir_filename_get_flags(filename, pool_datastack_create(), + p_clear(keyword_pool); + maildir_filename_get_flags(filename, keyword_pool, &flags, &keywords); if ((uflags & MAILDIR_UIDLIST_REC_FLAG_RECENT) != 0 && @@ -767,6 +770,7 @@ // FIXME: update keywords } maildir_uidlist_iter_deinit(iter); + pool_unref(keyword_pool); if (!partial) { /* expunge the rest */