netdb: When set a dns nameserver, if the nameserver already exists, retrun OK.

We consider the setting successful when the namesaerver we set already exists.

Signed-off-by: liqinhui <liqinhui@xiaomi.com>
This commit is contained in:
liqinhui
2023-10-10 17:44:04 +08:00
committed by Xiang Xiao
parent 4967de8621
commit 602c644f4d
+16
View File
@@ -211,6 +211,15 @@ int dns_add_nameserver(FAR const struct sockaddr *addr, socklen_t addrlen)
ret = dns_foreach_nameserver(dns_check_nameserver, &dns_addr.addr);
if (ret < 0)
{
/* If the nameserver is existing, don't need to write it into the
* resolv.conf file.
*/
if (ret == -EEXIST)
{
ret = OK;
}
goto errout;
}
@@ -334,6 +343,13 @@ int dns_add_nameserver(FAR const struct sockaddr *addr, socklen_t addrlen)
ret = dns_foreach_nameserver(dns_check_nameserver, &dns_addr.addr);
if (ret < 0)
{
/* If the nameserver is existing, we simply return the Ok. */
if (ret == -EEXIST)
{
ret = OK;
}
dns_unlock();
return ret;
}