diff options
author | Sebastian Wiedenroth <wiedi@frubar.net> | 2016-11-14 22:52:02 +0000 |
---|---|---|
committer | Bruce Guenter <bruce@untroubled.org> | 2017-02-28 13:39:57 -0600 |
commit | f50b29ff16101941e5bfb3d3774c0d3cf1997b0d (patch) | |
tree | 27bcd758759a6c3054c87b8839ac49e809d33d5b /lib | |
parent | 2a33bea069c69199eda8e9ded26b33f8caeeba3d (diff) |
fix build on illumos
Diffstat (limited to 'lib')
-rw-r--r-- | lib/tcpconnect.cc | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/lib/tcpconnect.cc b/lib/tcpconnect.cc index ae004fa..12f149c 100644 --- a/lib/tcpconnect.cc +++ b/lib/tcpconnect.cc @@ -33,19 +33,23 @@ static int err_return(int errn, int dflt) { - switch(errn) { - case HOST_NOT_FOUND: return -ERR_HOST_NOT_FOUND; - case NO_ADDRESS: return -ERR_NO_ADDRESS; - case NO_RECOVERY: return -ERR_GHBN_FATAL; - case TRY_AGAIN: return -ERR_GHBN_TEMP; - case EAI_AGAIN: return -ERR_GHBN_TEMP; - case EAI_NONAME: return -ERR_HOST_NOT_FOUND; - case EAI_FAIL: return -ERR_GHBN_FATAL; - case ECONNREFUSED: return -ERR_CONN_REFUSED; - case ETIMEDOUT: return -ERR_CONN_TIMEDOUT; - case ENETUNREACH: return -ERR_CONN_UNREACHABLE; - default: return -dflt; - } + if (errn == HOST_NOT_FOUND) + return -ERR_HOST_NOT_FOUND; + if (errn == NO_ADDRESS) + return -ERR_NO_ADDRESS; + if (errn == NO_RECOVERY || errn == EAI_FAIL) + return -ERR_GHBN_FATAL; + if (errn == TRY_AGAIN || errn == EAI_AGAIN) + return -ERR_GHBN_TEMP; + if (errn == EAI_NONAME) + return -ERR_HOST_NOT_FOUND; + if (errn == ECONNREFUSED) + return -ERR_CONN_REFUSED; + if (errn == ETIMEDOUT) + return -ERR_CONN_TIMEDOUT; + if (errn == ENETUNREACH) + return -ERR_CONN_UNREACHABLE; + return -dflt; } #ifdef HAVE_GETADDRINFO |