Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions m4/gmtime_max.m4
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
dnl * how large time_t values does gmtime() accept?
AC_DEFUN([DOVECOT_GMTIME_MAX], [
AC_REQUIRE([DOVECOT_TIME_T])
AC_CACHE_CHECK([how large time_t values gmtime() accepts],i_cv_gmtime_max_time_t,[
AC_RUN_IFELSE([AC_LANG_PROGRAM([[
#include <stdio.h>
Expand All @@ -20,6 +21,12 @@ AC_DEFUN([DOVECOT_GMTIME_MAX], [
Let's just do the same as Cyrus folks and limit it to 40 bits. */
bits = 40;
}
#ifdef TIME_T_SIGNED
if (bits == 32) {
/* Signed 32-bit time_t is essentially the same as unsigned 31-bit time_t */
bits = 31;
}
#endif

f = fopen("conftest.temp", "w");
if (f == NULL) {
Expand Down
52 changes: 26 additions & 26 deletions src/lib/test-event-filter.c
Original file line number Diff line number Diff line change
Expand Up @@ -1003,32 +1003,32 @@ static void test_event_filter_interval_values(void)
{ "field > 1mins", 60 * 1000 * 1000, FALSE },
{ "field < 1mins", 60 * 1000 * 1000, FALSE },

{ "field = 1hours", 60L * 60 * 1000 * 1000, TRUE },
{ "field = 1h", 60L * 60 * 1000 * 1000, TRUE },
{ "field = 3600000000", 60L * 60 * 1000 * 1000, TRUE },
{ "field >= 1hours", 60L * 60 * 1000 * 1000, TRUE },
{ "field <= 1hours", 60L * 60 * 1000 * 1000, TRUE },
{ "field > 1mins", 60L * 60 * 1000 * 1000, TRUE },
{ "field > 1hours", 60L * 60 * 1000 * 1000, FALSE },
{ "field < 1hours", 60L * 60 * 1000 * 1000, FALSE },

{ "field = 1days", 24L * 60 * 60 * 1000 * 1000, TRUE },
{ "field = 1d", 24L * 60 * 60 * 1000 * 1000, TRUE },
{ "field = 86400000000", 24L * 60 * 60 * 1000 * 1000, TRUE },
{ "field >= 1days", 24L * 60 * 60 * 1000 * 1000, TRUE },
{ "field <= 1days", 24L * 60 * 60 * 1000 * 1000, TRUE },
{ "field > 1hours", 24L * 60 * 60 * 1000 * 1000, TRUE },
{ "field > 1days", 24L * 60 * 60 * 1000 * 1000, FALSE },
{ "field < 1days", 24L * 60 * 60 * 1000 * 1000, FALSE },

{ "field = 1weeks", 7L * 24 * 60 * 60 * 1000 * 1000, TRUE },
{ "field = 1w", 7L * 24 * 60 * 60 * 1000 * 1000, TRUE },
{ "field = 604800000000", 7L * 24 * 60 * 60 * 1000 * 1000, TRUE },
{ "field >= 1weeks", 7L * 24 * 60 * 60 * 1000 * 1000, TRUE },
{ "field <= 1weeks", 7L * 24 * 60 * 60 * 1000 * 1000, TRUE },
{ "field > 1days", 7L * 24 * 60 * 60 * 1000 * 1000, TRUE },
{ "field > 1weeks", 7L * 24 * 60 * 60 * 1000 * 1000, FALSE },
{ "field < 1weeks", 7L * 24 * 60 * 60 * 1000 * 1000, FALSE },
{ "field = 1hours", 60LL * 60 * 1000 * 1000, TRUE },
{ "field = 1h", 60LL * 60 * 1000 * 1000, TRUE },
{ "field = 3600000000", 60LL * 60 * 1000 * 1000, TRUE },
{ "field >= 1hours", 60LL * 60 * 1000 * 1000, TRUE },
{ "field <= 1hours", 60LL * 60 * 1000 * 1000, TRUE },
{ "field > 1mins", 60LL * 60 * 1000 * 1000, TRUE },
{ "field > 1hours", 60LL * 60 * 1000 * 1000, FALSE },
{ "field < 1hours", 60LL * 60 * 1000 * 1000, FALSE },

{ "field = 1days", 24LL * 60 * 60 * 1000 * 1000, TRUE },
{ "field = 1d", 24LL * 60 * 60 * 1000 * 1000, TRUE },
{ "field = 86400000000", 24LL * 60 * 60 * 1000 * 1000, TRUE },
{ "field >= 1days", 24LL * 60 * 60 * 1000 * 1000, TRUE },
{ "field <= 1days", 24LL * 60 * 60 * 1000 * 1000, TRUE },
{ "field > 1hours", 24LL * 60 * 60 * 1000 * 1000, TRUE },
{ "field > 1days", 24LL * 60 * 60 * 1000 * 1000, FALSE },
{ "field < 1days", 24LL * 60 * 60 * 1000 * 1000, FALSE },

{ "field = 1weeks", 7LL * 24 * 60 * 60 * 1000 * 1000, TRUE },
{ "field = 1w", 7LL * 24 * 60 * 60 * 1000 * 1000, TRUE },
{ "field = 604800000000", 7LL * 24 * 60 * 60 * 1000 * 1000, TRUE },
{ "field >= 1weeks", 7LL * 24 * 60 * 60 * 1000 * 1000, TRUE },
{ "field <= 1weeks", 7LL * 24 * 60 * 60 * 1000 * 1000, TRUE },
{ "field > 1days", 7LL * 24 * 60 * 60 * 1000 * 1000, TRUE },
{ "field > 1weeks", 7LL * 24 * 60 * 60 * 1000 * 1000, FALSE },
{ "field < 1weeks", 7LL * 24 * 60 * 60 * 1000 * 1000, FALSE },
};

struct event_filter *filter;
Expand Down