summaryrefslogtreecommitdiffstats
path: root/tests/xtime.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2024-05-06 16:04:05 -0400
committerTavian Barnes <tavianator@tavianator.com>2024-05-06 16:04:05 -0400
commitf976c98d334dce9ba30aa7da4427bb530aeea536 (patch)
treeff48eba03fc0ce3a3497118142b87ebaa6865bf7 /tests/xtime.c
parentc74947f39063218f3cbd884e4ebaafe8dfc9302c (diff)
downloadbfs-f976c98d334dce9ba30aa7da4427bb530aeea536.tar.xz
xtime: Use the libc's timegm() if present
Diffstat (limited to 'tests/xtime.c')
-rw-r--r--tests/xtime.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/tests/xtime.c b/tests/xtime.c
index a7c63d2..d9d6c5c 100644
--- a/tests/xtime.c
+++ b/tests/xtime.c
@@ -137,6 +137,7 @@ static bool check_one_xtimegm(const struct tm *tm) {
return ret;
}
+#if !BFS_HAS_TIMEGM
/** Check an overflowing xtimegm() call. */
static bool check_xtimegm_overflow(const struct tm *tm) {
struct tm copy = *tm;
@@ -154,6 +155,7 @@ static bool check_xtimegm_overflow(const struct tm *tm) {
return ret;
}
+#endif
/** xtimegm() tests. */
static bool check_xtimegm(void) {
@@ -173,11 +175,13 @@ static bool check_xtimegm(void) {
ret &= check_one_xtimegm(&tm);
}
+#if !BFS_HAS_TIMEGM
// Check integer overflow cases
- check_xtimegm_overflow(&(struct tm) { .tm_sec = INT_MAX, .tm_min = INT_MAX });
- check_xtimegm_overflow(&(struct tm) { .tm_min = INT_MAX, .tm_hour = INT_MAX });
- check_xtimegm_overflow(&(struct tm) { .tm_hour = INT_MAX, .tm_mday = INT_MAX });
- check_xtimegm_overflow(&(struct tm) { .tm_mon = INT_MAX, .tm_year = INT_MAX });
+ ret &= check_xtimegm_overflow(&(struct tm) { .tm_sec = INT_MAX, .tm_min = INT_MAX });
+ ret &= check_xtimegm_overflow(&(struct tm) { .tm_min = INT_MAX, .tm_hour = INT_MAX });
+ ret &= check_xtimegm_overflow(&(struct tm) { .tm_hour = INT_MAX, .tm_mday = INT_MAX });
+ ret &= check_xtimegm_overflow(&(struct tm) { .tm_mon = INT_MAX, .tm_year = INT_MAX });
+#endif
return ret;
}