Beispiel #1
0
in_addr CUDPReaderWriter::lookup(const wxString& hostname)
{
	in_addr addr;
#if defined(WIN32)
	unsigned long address = ::inet_addr(hostname.mb_str());
	if (address != INADDR_NONE && address != INADDR_ANY) {
		addr.s_addr = address;
		return addr;
	}

	struct hostent* hp = ::gethostbyname(hostname.mb_str());
	if (hp != NULL) {
		::memcpy(&addr, hp->h_addr_list[0], sizeof(struct in_addr));
		return addr;
	}

	wxLogError(wxT("Cannot find address for host %s"), hostname.c_str());

	addr.s_addr = INADDR_NONE;
	return addr;
#else
	in_addr_t address = ::inet_addr(hostname.mb_str());
	if (address != in_addr_t(-1)) {
		addr.s_addr = address;
		return addr;
	}

	struct hostent* hp = ::gethostbyname(hostname.mb_str());
	if (hp != NULL) {
		::memcpy(&addr, hp->h_addr_list[0], sizeof(struct in_addr));
		return addr;
	}

	wxLogError(wxT("Cannot find address for host %s"), hostname.c_str());

	addr.s_addr = INADDR_NONE;
	return addr;
#endif
}
Beispiel #2
0
in_addr_t toInAddrT(char* addr) {
  return in_addr_t((unsigned long)addr);
}