mirror of
https://github.com/irssi/irssi.git
synced 2026-08-17 15:42:26 +02:00
"Temporary error in nameserver" shouldn't remove server reconnections.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@412 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
c15f655bca
commit
2f97b822fb
3 changed files with 24 additions and 8 deletions
|
|
@ -340,7 +340,7 @@ int net_gethostbyname(const char *addr, IPADDR *ip)
|
|||
freeaddrinfo(ai);
|
||||
#else
|
||||
hp = gethostbyname(addr);
|
||||
if (hp == NULL) return -1;
|
||||
if (hp == NULL) return h_errno;
|
||||
|
||||
ip->family = AF_INET;
|
||||
memcpy(&ip->addr, hp->h_addr, 4);
|
||||
|
|
@ -467,7 +467,7 @@ const char *net_gethosterror(int error)
|
|||
|
||||
return gai_strerror(error);
|
||||
#else
|
||||
switch (h_errno) {
|
||||
switch (error) {
|
||||
case HOST_NOT_FOUND:
|
||||
return _("Host not found");
|
||||
case NO_ADDRESS:
|
||||
|
|
@ -483,6 +483,17 @@ const char *net_gethosterror(int error)
|
|||
#endif
|
||||
}
|
||||
|
||||
/* return TRUE if host lookup failed because it didn't exist (ie. not
|
||||
some error with name server) */
|
||||
int net_hosterror_notfound(int error)
|
||||
{
|
||||
#ifdef HAVE_IPV6
|
||||
return error != 1 && (error == EAI_NONAME || error == EAI_NODATA);
|
||||
#else
|
||||
return error == HOST_NOT_FOUND || error == NO_ADDRESS;
|
||||
#endif
|
||||
}
|
||||
|
||||
int is_ipv4_address(const char *host)
|
||||
{
|
||||
while (*host != '\0') {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue