diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2012-03-26 11:40:53 +0800 |
---|---|---|
committer | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2012-04-03 11:39:29 +0800 |
commit | 9c29dab5aab70d399c51d2cae73d9e40c5948707 (patch) | |
tree | cb41214c7a35bbe1fe15d2fac47c7dab67e28666 /net | |
parent | f76899fa9805178cf7c71daaecd4065d43ca068f (diff) | |
download | barebox-9c29dab5aab70d399c51d2cae73d9e40c5948707.tar.gz barebox-9c29dab5aab70d399c51d2cae73d9e40c5948707.tar.xz |
net: env: getenv_ip use resolv
Introduce getenv_ip_dns to be able to do not do the resolv when using it in
resolv for the nameserver (Do not loop).
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/dns.c | 2 | ||||
-rw-r--r-- | net/net.c | 9 |
2 files changed, 7 insertions, 4 deletions
@@ -205,7 +205,7 @@ IPaddr_t resolv(char *host) dns_state = STATE_INIT; - ip = getenv_ip("nameserver"); + ip = getenv_ip_dns("nameserver", 0); if (!ip) return 0; @@ -127,7 +127,7 @@ int string_to_ip(const char *s, IPaddr_t *ip) return 0; } -IPaddr_t getenv_ip(const char *name) +IPaddr_t getenv_ip_dns(const char *name, int dns) { IPaddr_t ip; const char *var = getenv(name); @@ -135,10 +135,13 @@ IPaddr_t getenv_ip(const char *name) if (!var) return 0; - if (string_to_ip(var, &ip)) + if (!string_to_ip(var, &ip)) + return ip; + + if (!dns) return 0; - return ip; + return resolv((char*)var); } int setenv_ip(const char *name, IPaddr_t ip) |