pkg/lwip: Use IS_ACTIVE() & NETCONNTYPE_ISIPV6()
This also fixes an issue detected by `tests/lwip_sock_udp` when both IPv4 and IPv6 are enabled.
This commit is contained in:
parent
5be2d082b9
commit
00c44b0924
@ -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);
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user