Mercurial > dovecot > original-hg > dovecot-1.2
diff src/lib-storage/index/cydir/cydir-mail.c @ 6842:d2c8269a0679 HEAD
Cleanups/rewrites to how/when date/size caching is done.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 22 Nov 2007 09:36:57 +0200 |
parents | 47c3c4d41b26 |
children | 58b8daf695bf |
line wrap: on
line diff
--- a/src/lib-storage/index/cydir/cydir-mail.c Thu Nov 22 07:56:38 2007 +0200 +++ b/src/lib-storage/index/cydir/cydir-mail.c Thu Nov 22 09:36:57 2007 +0200 @@ -40,17 +40,14 @@ struct index_mail *mail = (struct index_mail *)_mail; struct index_mail_data *data = &mail->data; struct stat st; - uint32_t t; - (void)index_mail_get_received_date(_mail, date_r); - if (*date_r != (time_t)-1) + if (index_mail_get_received_date(_mail, date_r) == 0) return 0; if (cydir_mail_stat(_mail, &st) < 0) return -1; - data->received_date = t = st.st_mtime; - index_mail_cache_add(mail, MAIL_CACHE_RECEIVED_DATE, &t, sizeof(t)); + data->received_date = st.st_mtime; *date_r = data->received_date; return 0; } @@ -60,17 +57,14 @@ struct index_mail *mail = (struct index_mail *)_mail; struct index_mail_data *data = &mail->data; struct stat st; - uint32_t t; - (void)index_mail_get_save_date(_mail, date_r); - if (*date_r != (time_t)-1) + if (index_mail_get_save_date(_mail, date_r) == 0) return 0; if (cydir_mail_stat(_mail, &st) < 0) return (time_t)-1; - data->save_date = t = st.st_ctime; - index_mail_cache_add(mail, MAIL_CACHE_SAVE_DATE, &t, sizeof(t)); + data->save_date = st.st_ctime; *date_r = data->save_date; return 0; } @@ -81,16 +75,13 @@ struct index_mail_data *data = &mail->data; struct stat st; - (void)index_mail_get_physical_size(_mail, size_r); - if (*size_r != (uoff_t)-1) + if (index_mail_get_physical_size(_mail, size_r) == 0) return 0; if (cydir_mail_stat(_mail, &st) < 0) return -1; data->physical_size = data->virtual_size = st.st_size; - index_mail_cache_add(mail, MAIL_CACHE_PHYSICAL_FULL_SIZE, - &data->physical_size, sizeof(data->physical_size)); *size_r = data->physical_size; return 0; }