From 1530f9eb9a58ea89cf02b834d4d3093c618c6a15 Mon Sep 17 00:00:00 2001 From: Steve Karg Date: Thu, 27 Aug 2026 08:19:00 -0500 Subject: [PATCH] =?UTF-8?q?fix:=20compile=20failure=20caused=20by=20a=20PO?= =?UTF-8?q?SIX=20type=20that=20Zephyr=E2=80=99s=20native=20socket=20layer?= =?UTF-8?q?=20does=20not=20expose.=20Replaced=20with=20the=20native=20Zeph?= =?UTF-8?q?yr-compatible=20timeout=20type=20timeout=20handling=20in=20bip?= =?UTF-8?q?=5Freceive=20function.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zephyr/subsys/bacnet_datalink/bip-init.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/zephyr/subsys/bacnet_datalink/bip-init.c b/zephyr/subsys/bacnet_datalink/bip-init.c index 4950842..0f19fa5 100644 --- a/zephyr/subsys/bacnet_datalink/bip-init.c +++ b/zephyr/subsys/bacnet_datalink/bip-init.c @@ -278,7 +278,6 @@ uint16_t bip_receive( int max = 0; struct zsock_timeval select_timeout; struct sockaddr_in sin = { 0 }; - suseconds_t timeout_msec, timeout_sec; BACNET_IP_ADDRESS addr = { 0 }; socklen_t sin_len = sizeof(sin); int received_bytes = 0; @@ -294,14 +293,13 @@ uint16_t bip_receive( /* we could just use a non-blocking socket, but that consumes all the CPU time. We can use a timeout; it is only supported as a select. */ - timeout_msec = (suseconds_t)timeout; - if (timeout_msec >= 1000) { - timeout_sec = timeout_msec / 1000; - select_timeout.tv_sec = timeout_sec; - select_timeout.tv_usec = 1000 * (timeout_msec - (timeout_sec * 1000)); + if (timeout >= 1000U) { + select_timeout.tv_sec = timeout / 1000U; + select_timeout.tv_usec = + 1000U * (timeout - select_timeout.tv_sec * 1000U); } else { select_timeout.tv_sec = 0; - select_timeout.tv_usec = 1000 * timeout_msec; + select_timeout.tv_usec = 1000U * timeout; } ZSOCK_FD_ZERO(&read_fds); ZSOCK_FD_SET(BIP_Socket, &read_fds);