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 <ros...@gmail.com>
---
 v3: no need for linking to librt
 v2: switch to function
 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..01b0939 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 %lld %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 %lld %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


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to