diff --git a/src/core/dhcp.c b/src/core/dhcp.c index afd2c15b..8e215895 100644 --- a/src/core/dhcp.c +++ b/src/core/dhcp.c @@ -72,6 +72,7 @@ #include "lwip/udp.h" #include "lwip/netif.h" #include "lwip/inet.h" +#include "lwip/ip_addr.h" #include "netif/etharp.h" #include "lwip/sys.h" diff --git a/src/core/netif.c b/src/core/netif.c index b85c043a..f343988c 100644 --- a/src/core/netif.c +++ b/src/core/netif.c @@ -41,6 +41,8 @@ #include "lwip/def.h" #include "lwip/mem.h" #include "lwip/netif.h" +#include "lwip/ip_addr.h" + struct netif *netif_list = NULL; struct netif *netif_default = NULL; diff --git a/src/core/udp.c b/src/core/udp.c index 6e2e41d1..942a523a 100644 --- a/src/core/udp.c +++ b/src/core/udp.c @@ -50,6 +50,7 @@ #include "lwip/netif.h" #include "lwip/udp.h" #include "lwip/icmp.h" +#include "lwip/ip_addr.h" #include "lwip/stats.h" diff --git a/src/include/ipv4/lwip/ip_addr.h b/src/include/ipv4/lwip/ip_addr.h index b070712c..02747191 100644 --- a/src/include/ipv4/lwip/ip_addr.h +++ b/src/include/ipv4/lwip/ip_addr.h @@ -49,14 +49,13 @@ PACK_STRUCT_END # include "arch/epstruct.h" #endif +extern struct ip_addr ip_addr_any; extern struct ip_addr ip_addr_broadcast; #define IP4_ADDR(ipaddr, a,b,c,d) (ipaddr)->addr = htonl(((u32_t)(a & 0xff) << 24) | ((u32_t)(b & 0xff) << 16) | \ ((u32_t)(c & 0xff) << 8) | (u32_t)(d & 0xff)) -#define ip_addr_set(dest, src) (dest)->addr = \ - ((src) == IP_ADDR_ANY? IP_ADDR_ANY:\ - ((struct ip_addr *)src)->addr) +#define ip_addr_set(dest, src) (dest)->addr = ((struct ip_addr *)src)->addr #define ip_addr_maskcmp(addr1, addr2, mask) (((addr1)->addr & \ (mask)->addr) == \ ((addr2)->addr & \