From e18d16072b56396948ac159ff0e63722b4c143cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= Date: Wed, 12 Feb 2025 21:57:04 +0100 Subject: [PATCH] Fix build on 32-bit with 64-bit time_t MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gcc reports: ../src/netlog/netlog-protocol.c: In function ‘format_rfc3339_timestamp’: ../src/netlog/netlog-protocol.c:72:62: error: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘__suseconds64_t’ {aka ‘long long int’} [-Werror=format=] 72 | r = snprintf(header_time, header_size, ".%06ld", tv->tv_usec); | ~~~~^ ~~~~~~~~~~~ | | | | | __suseconds64_t {aka long long int} | long int | %06lld --- src/netlog/netlog-protocol.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/netlog/netlog-protocol.c b/src/netlog/netlog-protocol.c index e96726b..df3a14a 100644 --- a/src/netlog/netlog-protocol.c +++ b/src/netlog/netlog-protocol.c @@ -69,7 +69,7 @@ void format_rfc3339_timestamp(const struct timeval *tv, char *header_time, size_ /* add fractional part */ if (tv) { - r = snprintf(header_time, header_size, ".%06ld", tv->tv_usec); + r = snprintf(header_time, header_size, ".%06lld", (long long)tv->tv_usec); assert(r > 0 && (size_t)r < header_size); header_time += r; header_size -= r;