From 00ff291f2eb734b014f47506c0d71ead83bddc10 Mon Sep 17 00:00:00 2001 From: Benjamin Valentin Date: Tue, 10 Dec 2019 14:46:19 +0100 Subject: [PATCH] gnrc_lwmac: use uintptr_t to get value of pointer A pointer is not 32 bit on all platforms. Since gnrc_lwmac only stores 16 bit in the pointer variable it is still save to cast like this even on AVR, but cast to uintptr_t instead of uint32_t. fixes #12869 --- sys/net/gnrc/link_layer/lwmac/lwmac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/gnrc/link_layer/lwmac/lwmac.c b/sys/net/gnrc/link_layer/lwmac/lwmac.c index a293dcfcfd..d982a26678 100644 --- a/sys/net/gnrc/link_layer/lwmac/lwmac.c +++ b/sys/net/gnrc/link_layer/lwmac/lwmac.c @@ -676,7 +676,7 @@ static void rtt_cb(void *arg) { msg_t msg; - msg.content.value = ((uint32_t) arg) & 0xffff; + msg.content.value = (uint16_t)((uintptr_t) arg); msg.type = GNRC_LWMAC_EVENT_RTT_TYPE; msg_send(&msg, lwmac_pid);