aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/files.c
diff options
context:
space:
mode:
authorvda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2007-02-04 02:41:57 +0000
committervda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2007-02-04 02:41:57 +0000
commitb7512dff20572cdfc656d4ba015ab045718e2b97 (patch)
tree85f96b893cc174965b65d8691901da659468ed97 /networking/udhcp/files.c
parent0c2c6a5e41a20132a6c2b320f2ce1f7bc3010072 (diff)
downloadbusybox-w32-b7512dff20572cdfc656d4ba015ab045718e2b97.tar.gz
busybox-w32-b7512dff20572cdfc656d4ba015ab045718e2b97.tar.bz2
busybox-w32-b7512dff20572cdfc656d4ba015ab045718e2b97.zip
udhcp: use improved gethostbyname replacement from IPv6 code
git-svn-id: svn://busybox.net/trunk/busybox@17752 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'networking/udhcp/files.c')
-rw-r--r--networking/udhcp/files.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/networking/udhcp/files.c b/networking/udhcp/files.c
index c3ab17de4..e35f50a17 100644
--- a/networking/udhcp/files.c
+++ b/networking/udhcp/files.c
@@ -21,15 +21,14 @@
21/* on these functions, make sure you datatype matches */ 21/* on these functions, make sure you datatype matches */
22static int read_ip(const char *line, void *arg) 22static int read_ip(const char *line, void *arg)
23{ 23{
24 struct in_addr *addr = arg; 24 len_and_sockaddr *lsa;
25 struct hostent *host; 25 int retval = 0;
26 int retval = 1; 26
27 27 lsa = host_and_af2sockaddr(line, 0, AF_INET);
28 if (!inet_aton(line, addr)) { 28 if (lsa) {
29 host = gethostbyname(line); 29 *(struct in_addr*)arg = lsa->sin.sin_addr;
30 if (host) 30 free(lsa);
31 addr->s_addr = *((unsigned long *) host->h_addr_list[0]); 31 retval = 1;
32 else retval = 0;
33 } 32 }
34 return retval; 33 return retval;
35} 34}