]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-index: Add day_stamp parameter to mail_index_update_day_headers()
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 15 Feb 2017 20:12:15 +0000 (22:12 +0200)
committerGitLab <gitlab@git.dovecot.net>
Thu, 16 Feb 2017 11:40:13 +0000 (13:40 +0200)
This will help creating a unit test.

src/lib-index/mail-index-transaction-finish.c
src/lib-index/mail-index-transaction-private.h
src/lib-index/mail-index-transaction-update.c
src/lib-index/test-mail-index-transaction-finish.c

index ccc789c3bf7fc0ff4f6e0488e68639ec82cd1357..4c9f9336ed572a827f02d57e64215b174a0f8c2f 100644 (file)
@@ -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 @@ void mail_index_transaction_finish(struct mail_index_transaction *t)
        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,
index 79191fe8be0f299f0352c9b2c83edf3a74d22bf4..47c9d8eb07c729e75dfe8f407c7a5deb593f983c 100644 (file)
@@ -121,7 +121,7 @@ void mail_index_transaction_sort_appends(struct mail_index_transaction *t);
 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,
index 230dc48b8020555034ff4f3acf066cc687345e81..9213d882433335b3dbe067d79ed8338f5fff7023 100644 (file)
@@ -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 <time.h>
+
 static bool
 mail_index_transaction_has_ext_changes(struct mail_index_transaction *t);
 
@@ -116,7 +117,8 @@ void mail_index_transaction_set_log_updates(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;
@@ -129,7 +131,7 @@ void mail_index_update_day_headers(struct mail_index_transaction *t)
        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;
index 8e05d16fef742db41165d6d385717351f06fd274..6d76602f90fe6b8ca6b53395854ffc97945d143b 100644 (file)
@@ -18,7 +18,7 @@ void mail_index_ext_set_reset_id(struct mail_index_transaction *t ATTR_UNUSED,
                                 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,