diff --git a/pkg/lwip/contrib/sock/lwip_sock.c b/pkg/lwip/contrib/sock/lwip_sock.c index f93a08e5e2..12014a0258 100644 --- a/pkg/lwip/contrib/sock/lwip_sock.c +++ b/pkg/lwip/contrib/sock/lwip_sock.c @@ -490,13 +490,15 @@ int lwip_sock_get_addr(struct netconn *conn, struct _sock_tl_ep *ep, u8_t local) ) { return res; } -#if LWIP_IPV6 && LWIP_IPV4 - ep->family = (addr.type == IPADDR_TYPE_V6) ? AF_INET6 : AF_INET; -#elif LWIP_IPV6 - ep->family = (conn->type & NETCONN_TYPE_IPV6) ? AF_INET6 : AF_INET; -#elif LWIP_IPV4 - ep->family = AF_INET; -#endif + if (NETCONNTYPE_ISIPV6(conn->type)) { + ep->family = AF_INET6; + } + else if (IS_ACTIVE(LWIP_IPV4)) { + ep->family = AF_INET; + } + else { + ep->family = AF_UNSPEC; + } if (local) { ep->netif = lwip_sock_bind_addr_to_netif(&addr); } diff --git a/pkg/lwip/contrib/sock/udp/lwip_sock_udp.c b/pkg/lwip/contrib/sock/udp/lwip_sock_udp.c index 69ece44175..fb549b8736 100644 --- a/pkg/lwip/contrib/sock/udp/lwip_sock_udp.c +++ b/pkg/lwip/contrib/sock/udp/lwip_sock_udp.c @@ -120,23 +120,18 @@ ssize_t sock_udp_recv_buf(sock_udp_t *sock, void **data, void **ctx, if (remote != NULL) { /* convert remote */ size_t addr_len; -#if LWIP_IPV6 - if (sock->base.conn->type & NETCONN_TYPE_IPV6) { + if (NETCONNTYPE_ISIPV6(sock->base.conn->type)) { addr_len = sizeof(ipv6_addr_t); remote->family = AF_INET6; } - else { -#endif -#if LWIP_IPV4 + else if (IS_ACTIVE(LWIP_IPV4)) { addr_len = sizeof(ipv4_addr_t); remote->family = AF_INET; -#else + } + else { netbuf_delete(buf); return -EPROTO; -#endif -#if LWIP_IPV6 } -#endif #if LWIP_NETBUF_RECVINFO remote->netif = lwip_sock_bind_addr_to_netif(&buf->toaddr); #else