From fbf14aee4ad321ac3702b60ff8193d82812c2270 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 26 Mar 2020 16:07:12 -0700 Subject: [PATCH] odhcpd: fix compilation with musl 1.2.0 SYS_clock_gettime is gone with musl 1.2.0. Switched to the function. Also fixed two format strings that fail as time_t is 64-bit with 1.2.0. Signed-off-by: Rosen Penev --- src/dhcpv6-ia.c | 8 ++++---- src/odhcpd.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/dhcpv6-ia.c b/src/dhcpv6-ia.c index 1a13945..b51649c 100644 --- a/src/dhcpv6-ia.c +++ b/src/dhcpv6-ia.c @@ -338,12 +338,12 @@ void dhcpv6_ia_write_statefile(void) odhcpd_hexlify(duidbuf, ctxt.c->clid_data, ctxt.c->clid_len); /* iface DUID iaid hostname lifetime assigned length [addrs...] */ - ctxt.buf_idx = snprintf(ctxt.buf, ctxt.buf_len, "# %s %s %x %s%s %ld %x %u ", + ctxt.buf_idx = snprintf(ctxt.buf, ctxt.buf_len, "# %s %s %x %s%s %"PRId64" %x %u ", ctxt.iface->ifname, duidbuf, ntohl(ctxt.c->iaid), (ctxt.c->flags & OAF_BROKEN_HOSTNAME) ? "broken\\x20" : "", (ctxt.c->hostname ? ctxt.c->hostname : "-"), (ctxt.c->valid_until > now ? - (ctxt.c->valid_until - now + wall_time) : + (int64_t)(ctxt.c->valid_until - now + wall_time) : (INFINITE_VALID(ctxt.c->valid_until) ? -1 : 0)), ctxt.c->assigned, (unsigned)ctxt.c->length); @@ -368,12 +368,12 @@ void dhcpv6_ia_write_statefile(void) odhcpd_hexlify(duidbuf, c->hwaddr, sizeof(c->hwaddr)); /* iface DUID iaid hostname lifetime assigned length [addrs...] */ - ctxt.buf_idx = snprintf(ctxt.buf, ctxt.buf_len, "# %s %s ipv4 %s%s %ld %x 32 ", + ctxt.buf_idx = snprintf(ctxt.buf, ctxt.buf_len, "# %s %s ipv4 %s%s %"PRId64" %x 32 ", ctxt.iface->ifname, duidbuf, (c->flags & OAF_BROKEN_HOSTNAME) ? "broken\\x20" : "", (c->hostname ? c->hostname : "-"), (c->valid_until > now ? - (c->valid_until - now + wall_time) : + (int64_t)(c->valid_until - now + wall_time) : (INFINITE_VALID(c->valid_until) ? -1 : 0)), ntohl(c->addr)); diff --git a/src/odhcpd.c b/src/odhcpd.c index 4b8e589..26094b1 100644 --- a/src/odhcpd.c +++ b/src/odhcpd.c @@ -440,7 +440,7 @@ int odhcpd_urandom(void *data, size_t len) time_t odhcpd_time(void) { struct timespec ts; - syscall(SYS_clock_gettime, CLOCK_MONOTONIC, &ts); + clock_gettime(CLOCK_MONOTONIC, &ts); return ts.tv_sec; } -- 2.25.1