Exemplo n.º 1
0
static int my_res_init()
{
#ifdef JDNS_OS_MAC
	res_init_func mac_res_init;

	// look up res_init in the system library (qt does this, not sure why)
	mac_res_init = (res_init_func)dlsym(RTLD_NEXT, "res_init");
	if(!mac_res_init)
		return -1;
	return mac_res_init();
#elif defined ANDROID
	memset(&_res, 0, sizeof(_res));
	char prop_value[PROP_VALUE_MAX];
	char prop_name[PROP_NAME_MAX];
	int i = 0;
	int readed = 0;
	do
	{
		// net.dns properties starts with 1
		sprintf(prop_name, "net.dns%d", i + 1);
		readed = __system_property_get(prop_name, prop_value);
		if (readed)
		{
			if (!inet_aton(prop_value, &_res.nsaddr_list[i].sin_addr))
				break;
			i++;
		}
	} while (readed && i < MAXNS);
	_res.nscount = i;

	return 0;
#else
	return res_init();
#endif
}
Exemplo n.º 2
0
static int my_res_init()
{
#ifdef JDNS_OS_MAC
    res_init_func mac_res_init;

    // look up res_init in the system library (qt does this, not sure why)
    mac_res_init = (res_init_func)dlsym(RTLD_NEXT, "res_init");
    if(!mac_res_init)
        return -1;
    return mac_res_init();
#else
    return res_init();
#endif
}