# HG changeset patch # User Timo Sirainen # Date 1487189535 -7200 # Node ID d1860907acf9dc6a5272a5337e62b59e666d4cf3 # Parent 716b798e11d0dc3e548ff9290ae8335e8fc2d485 lib-index: Add day_stamp parameter to mail_index_update_day_headers() This will help creating a unit test. diff -r 716b798e11d0 -r d1860907acf9 src/lib-index/mail-index-transaction-finish.c --- a/src/lib-index/mail-index-transaction-finish.c Wed Feb 15 18:20:05 2017 +0200 +++ b/src/lib-index/mail-index-transaction-finish.c Wed Feb 15 22:12:15 2017 +0200 @@ -2,6 +2,7 @@ #include "lib.h" #include "array.h" +#include "ioloop.h" #include "mail-index-private.h" #include "mail-index-modseq.h" #include "mail-index-transaction-private.h" @@ -336,7 +337,7 @@ mail_index_transaction_finish_so_far(t); if (array_is_created(&t->appends)) - mail_index_update_day_headers(t); + mail_index_update_day_headers(t, ioloop_time); if (array_is_created(&t->ext_reset_atomic)) transaction_update_atomic_reset_ids(t); /* finally convert all sequences to UIDs before we write them, diff -r 716b798e11d0 -r d1860907acf9 src/lib-index/mail-index-transaction-private.h --- a/src/lib-index/mail-index-transaction-private.h Wed Feb 15 18:20:05 2017 +0200 +++ b/src/lib-index/mail-index-transaction-private.h Wed Feb 15 22:12:15 2017 +0200 @@ -121,7 +121,7 @@ void mail_index_transaction_sort_expunges(struct mail_index_transaction *t); uint32_t mail_index_transaction_get_next_uid(struct mail_index_transaction *t); void mail_index_transaction_set_log_updates(struct mail_index_transaction *t); -void mail_index_update_day_headers(struct mail_index_transaction *t); +void mail_index_update_day_headers(struct mail_index_transaction *t, time_t day_stamp); unsigned int mail_index_transaction_get_flag_update_pos(struct mail_index_transaction *t, diff -r 716b798e11d0 -r d1860907acf9 src/lib-index/mail-index-transaction-update.c --- a/src/lib-index/mail-index-transaction-update.c Wed Feb 15 18:20:05 2017 +0200 +++ b/src/lib-index/mail-index-transaction-update.c Wed Feb 15 22:12:15 2017 +0200 @@ -5,11 +5,12 @@ UIDs. */ #include "lib.h" -#include "ioloop.h" #include "array.h" #include "mail-index-private.h" #include "mail-index-transaction-private.h" +#include + static bool mail_index_transaction_has_ext_changes(struct mail_index_transaction *t); @@ -116,7 +117,8 @@ t->min_highest_modseq != 0; } -void mail_index_update_day_headers(struct mail_index_transaction *t) +void mail_index_update_day_headers(struct mail_index_transaction *t, + time_t day_stamp) { struct mail_index_header hdr; const struct mail_index_record *rec; @@ -129,7 +131,7 @@ rec = array_idx(&t->appends, 0); /* get beginning of today */ - tm = *localtime(&ioloop_time); + tm = *localtime(&day_stamp); tm.tm_hour = 0; tm.tm_min = 0; tm.tm_sec = 0; diff -r 716b798e11d0 -r d1860907acf9 src/lib-index/test-mail-index-transaction-finish.c --- a/src/lib-index/test-mail-index-transaction-finish.c Wed Feb 15 18:20:05 2017 +0200 +++ b/src/lib-index/test-mail-index-transaction-finish.c Wed Feb 15 22:12:15 2017 +0200 @@ -18,7 +18,7 @@ uint32_t ext_id ATTR_UNUSED, uint32_t reset_id ATTR_UNUSED) { } void mail_index_transaction_set_log_updates(struct mail_index_transaction *t ATTR_UNUSED) { } -void mail_index_update_day_headers(struct mail_index_transaction *t ATTR_UNUSED) {} +void mail_index_update_day_headers(struct mail_index_transaction *t ATTR_UNUSED, time_t day_stamp ATTR_UNUSED) {} bool mail_index_cancel_flag_updates(struct mail_index_transaction *t ATTR_UNUSED, uint32_t seq ATTR_UNUSED) { return TRUE; } bool mail_index_cancel_keyword_updates(struct mail_index_transaction *t ATTR_UNUSED,