diff --git a/app/modules/net.c b/app/modules/net.c index 7d7ffcc5..73afe2b3 100644 --- a/app/modules/net.c +++ b/app/modules/net.c @@ -215,7 +215,7 @@ static void net_dns_found(const char *name, ip_addr_t *ipaddr, void *arg) // ipaddr->addr is a uint32_t ip char ip_str[20]; c_memset(ip_str, 0, sizeof(ip_str)); - if(host_ip.addr == 0 && ipaddr->addr != 0) + if(ipaddr->addr != 0) { c_sprintf(ip_str, IPSTR, IP2STR(&(ipaddr->addr))); } @@ -238,7 +238,7 @@ static void net_dns_found(const char *name, ip_addr_t *ipaddr, void *arg) // ipaddr->addr is a uint32_t ip char ip_str[20]; c_memset(ip_str, 0, sizeof(ip_str)); - if(host_ip.addr == 0 && ipaddr->addr != 0) + if(ipaddr->addr != 0) { c_sprintf(ip_str, IPSTR, IP2STR(&(ipaddr->addr))); } @@ -1148,7 +1148,9 @@ static int net_dns( lua_State* L, const char* mt ) } host_ip.addr = 0; - espconn_gethostbyname(pesp_conn, domain, &host_ip, net_dns_found); + if(ESPCONN_OK == espconn_gethostbyname(pesp_conn, domain, &host_ip, net_dns_found)) + net_dns_found(domain, &host_ip, pesp_conn); // ip is returned in host_ip. + return 0; } @@ -1213,7 +1215,9 @@ static int net_dns_static( lua_State* L ) } host_ip.addr = 0; - espconn_gethostbyname(pesp_conn, domain, &host_ip, net_dns_found); + if(ESPCONN_OK == espconn_gethostbyname(pesp_conn, domain, &host_ip, net_dns_found)) + net_dns_found(domain, &host_ip, pesp_conn); // ip is returned in host_ip. + return 0; }