diff mbox series

[OpenWrt-Devel] odhcpd: fix compilation with musl 1.2.0

Message ID 20200405234803.631826-1-rosenp@gmail.com
State Not Applicable
Headers show
Series [OpenWrt-Devel] odhcpd: fix compilation with musl 1.2.0 | expand

Commit Message

Rosen Penev April 5, 2020, 11:48 p.m. UTC
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 <rosenp@gmail.com>
---
 src/dhcpv6-ia.c | 8 ++++----
 src/odhcpd.c    | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

Comments

Rosen Penev April 5, 2020, 11:49 p.m. UTC | #1
On Sun, Apr 5, 2020 at 4:48 PM Rosen Penev <rosenp@gmail.com> wrote:
>
> 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 <rosenp@gmail.com>
Whoops. accidentally sent this. Changed status on patchwork.
> ---
>  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..93bbe45 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
>
diff mbox series

Patch

diff --git a/src/dhcpv6-ia.c b/src/dhcpv6-ia.c
index 1a13945..93bbe45 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;
 }