summaryrefslogtreecommitdiff
path: root/sysdep
diff options
context:
space:
mode:
Diffstat (limited to 'sysdep')
-rw-r--r--sysdep/config.h1
-rw-r--r--sysdep/unix/timer.h16
2 files changed, 8 insertions, 9 deletions
diff --git a/sysdep/config.h b/sysdep/config.h
index d740ff06..fb710d86 100644
--- a/sysdep/config.h
+++ b/sysdep/config.h
@@ -24,6 +24,7 @@
#include "sysdep/paths.h"
/* Types */
+
#include <stdint.h>
typedef int8_t s8;
typedef uint8_t u8;
diff --git a/sysdep/unix/timer.h b/sysdep/unix/timer.h
index 99d43932..ae5a27e8 100644
--- a/sysdep/unix/timer.h
+++ b/sysdep/unix/timer.h
@@ -77,14 +77,12 @@ bird_clock_t tm_parse_datetime(char *); /* Convert date to bird_clock_t */
void
tm_format_datetime(char *x, struct timeformat *fmt_spec, bird_clock_t t);
-#ifdef TIME_T_IS_64BIT
-#define TIME_INFINITY 0x7fffffffffffffff
-#else
-#ifdef TIME_T_IS_SIGNED
-#define TIME_INFINITY 0x7fffffff
-#else
-#define TIME_INFINITY 0xffffffff
-#endif
-#endif
+#define TIME_T_IS_64BIT (sizeof(time_t) == 8)
+#define TIME_T_IS_SIGNED ((time_t) -1 < 0)
+
+#define TIME_INFINITY \
+ ((time_t) (TIME_T_IS_SIGNED ? \
+ (TIME_T_IS_64BIT ? 0x7fffffffffffffff : 0x7fffffff): \
+ (TIME_T_IS_64BIT ? 0xffffffffffffffff : 0xffffffff)))
#endif