This will help creating a unit test.
#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"
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,
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,
UIDs. */
#include "lib.h"
-#include "ioloop.h"
#include "array.h"
#include "mail-index-private.h"
#include "mail-index-transaction-private.h"
+#include <time.h>
+
static bool
mail_index_transaction_has_ext_changes(struct mail_index_transaction *t);
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;
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;
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,