Hi,
I have some troubles with the gethostbyname function on uclibc-0.9.29.
I have developed a short program which does periodically a gethostbyname.
The problem is if I change the network interface (ETH to WLAN for example)
while this short program is running, the gethostbyname function returns a host
not found error, but the network is correctly mounted since I can ping any
URLs or IP address.
When I remount the previous unmounted network interface, the program logs the
IP address of the given server.
Here the source code:
#include <netdb.h>
#include <stdio.h>
#include <stdint.h>
extern int h_errno;
int main(int argn, char* argv[])
{
struct hostent* host;
while (1)
{
host = gethostbyname(argv[1]);
if (host)
{
printf("Host: %s, addr: %d.%d.%d.%d\n", argv[1],
((uint8_t*)host->h_addr_list[0])[0],
((uint8_t*)host->h_addr_list[0])[1],
((uint8_t*)host->h_addr_list[0])[2],
((uint8_t*)host->h_addr_list[0])[3]);
}
else
{
printf("lookup error %d: %s\n", h_errno, hstrerror(h_errno));
}
fflush(stdout);
sleep(1);
}
return 0;
}
Thanks for your help,
D. FRANCOIS
_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc