diff options
| author | Diego Nehab <diego.nehab@gmail.com> | 2012-12-10 09:31:13 -0800 |
|---|---|---|
| committer | Diego Nehab <diego.nehab@gmail.com> | 2012-12-10 09:31:13 -0800 |
| commit | a4b45edef23b83c357ffba52ee7c44d6ba303fc5 (patch) | |
| tree | e35eca968db1a725a0c59e642a5cd0a50bf71e33 | |
| parent | 114080d83559551a48aa2433f56d8f318994ed66 (diff) | |
| parent | 5c467b3954d08bad5e55ac938b08fe17a7cee184 (diff) | |
| download | luasocket-a4b45edef23b83c357ffba52ee7c44d6ba303fc5.tar.gz luasocket-a4b45edef23b83c357ffba52ee7c44d6ba303fc5.tar.bz2 luasocket-a4b45edef23b83c357ffba52ee7c44d6ba303fc5.zip | |
Merge pull request #25 from ewmailing/unstable
Copied socket_gaistrerror implementation from usocket to wsocket to allo...
| -rw-r--r-- | src/wsocket.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/wsocket.c b/src/wsocket.c index 12e6352..36c10ff 100644 --- a/src/wsocket.c +++ b/src/wsocket.c | |||
| @@ -397,3 +397,28 @@ static const char *wstrerror(int err) { | |||
| 397 | default: return "Unknown error"; | 397 | default: return "Unknown error"; |
| 398 | } | 398 | } |
| 399 | } | 399 | } |
| 400 | |||
| 401 | const char *socket_gaistrerror(int err) { | ||
| 402 | if (err == 0) return NULL; | ||
| 403 | switch (err) { | ||
| 404 | case EAI_AGAIN: return "temporary failure in name resolution"; | ||
| 405 | case EAI_BADFLAGS: return "invalid value for ai_flags"; | ||
| 406 | #ifdef EAI_BADHINTS | ||
| 407 | case EAI_BADHINTS: return "invalid value for hints"; | ||
| 408 | #endif | ||
| 409 | case EAI_FAIL: return "non-recoverable failure in name resolution"; | ||
| 410 | case EAI_FAMILY: return "ai_family not supported"; | ||
| 411 | case EAI_MEMORY: return "memory allocation failure"; | ||
| 412 | case EAI_NONAME: | ||
| 413 | return "host or service not provided, or not known"; | ||
| 414 | // case EAI_OVERFLOW: return "argument buffer overflow"; | ||
| 415 | #ifdef EAI_PROTOCOL | ||
| 416 | case EAI_PROTOCOL: return "resolved protocol is unknown"; | ||
| 417 | #endif | ||
| 418 | case EAI_SERVICE: return "service not supported for socket type"; | ||
| 419 | case EAI_SOCKTYPE: return "ai_socktype not supported"; | ||
| 420 | // case EAI_SYSTEM: return strerror(errno); | ||
| 421 | default: return gai_strerror(err); | ||
| 422 | } | ||
| 423 | } | ||
| 424 | |||
