summaryrefslogtreecommitdiff
path: root/src/basic/format-util.h
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2021-12-19 19:39:37 -0500
committerYu Watanabe <watanabe.yu+github@gmail.com>2021-12-20 12:36:59 +0900
commit9a723ed6e80e3078969567f7cb551535d2fb00bd (patch)
tree37a22262bc8bf375939f4a04d0a670f5f675d294 /src/basic/format-util.h
parentb9f27a0567886379666d8548ae105201d6759bbf (diff)
downloadsystemd-9a723ed6e80e3078969567f7cb551535d2fb00bd.tar.gz
basic: add a size check to format timex members properly
As of glibc-2.34, the size of members in struct timex varies depending on the _TIME_BITS macro. Fixes: https://github.com/systemd/systemd/issues/21826
Diffstat (limited to 'src/basic/format-util.h')
-rw-r--r--src/basic/format-util.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/basic/format-util.h b/src/basic/format-util.h
index 7dd422b987..8719df3e29 100644
--- a/src/basic/format-util.h
+++ b/src/basic/format-util.h
@@ -26,10 +26,12 @@ assert_cc(sizeof(gid_t) == sizeof(uint32_t));
# error Unknown time_t size
#endif
-#if defined __x86_64__ && defined __ILP32__
+#if SIZEOF_TIMEX_MEMBER == 8
# define PRI_TIMEX PRIi64
-#else
+#elif SIZEOF_TIMEX_MEMBER == 4
# define PRI_TIMEX "li"
+#else
+# error Unknown timex member size
#endif
#if SIZEOF_RLIM_T == 8