diff options
author | Thijs Schreijer <thijs@thijsschreijer.nl> | 2015-03-03 21:17:06 +0100 |
---|---|---|
committer | Thijs Schreijer <thijs@thijsschreijer.nl> | 2015-03-03 21:17:06 +0100 |
commit | d3ed08616bdc4be62ab64332e0118090f1c6fce1 (patch) | |
tree | c3c5b37d2a688e3ec2c40fd590dc84f78b74b64f /src/usocket.c | |
parent | 76ed24fe8ae8c728de0d7d065918a5cd74fe7303 (diff) | |
download | luasocket-d3ed08616bdc4be62ab64332e0118090f1c6fce1.tar.gz luasocket-d3ed08616bdc4be62ab64332e0118090f1c6fce1.tar.bz2 luasocket-d3ed08616bdc4be62ab64332e0118090f1c6fce1.zip |
updated error messages, less error prone, platform independent
Diffstat (limited to 'src/usocket.c')
-rw-r--r-- | src/usocket.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/src/usocket.c b/src/usocket.c index 89f774d..0a0f5f9 100644 --- a/src/usocket.c +++ b/src/usocket.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <signal.h> | 10 | #include <signal.h> |
11 | 11 | ||
12 | #include "socket.h" | 12 | #include "socket.h" |
13 | #include "pierror.h" | ||
13 | 14 | ||
14 | /*-------------------------------------------------------------------------*\ | 15 | /*-------------------------------------------------------------------------*\ |
15 | * Wait for readable/writable/connected socket with timeout | 16 | * Wait for readable/writable/connected socket with timeout |
@@ -394,7 +395,7 @@ int socket_gethostbyname(const char *addr, struct hostent **hp) { | |||
394 | const char *socket_hoststrerror(int err) { | 395 | const char *socket_hoststrerror(int err) { |
395 | if (err <= 0) return io_strerror(err); | 396 | if (err <= 0) return io_strerror(err); |
396 | switch (err) { | 397 | switch (err) { |
397 | case HOST_NOT_FOUND: return "host not found"; | 398 | case HOST_NOT_FOUND: return PIE_HOSTNOTFOUND; |
398 | default: return hstrerror(err); | 399 | default: return hstrerror(err); |
399 | } | 400 | } |
400 | } | 401 | } |
@@ -402,13 +403,13 @@ const char *socket_hoststrerror(int err) { | |||
402 | const char *socket_strerror(int err) { | 403 | const char *socket_strerror(int err) { |
403 | if (err <= 0) return io_strerror(err); | 404 | if (err <= 0) return io_strerror(err); |
404 | switch (err) { | 405 | switch (err) { |
405 | case EADDRINUSE: return "address already in use"; | 406 | case EADDRINUSE: return PIE_ADDRINUSE; |
406 | case EISCONN: return "already connected"; | 407 | case EISCONN: return PIE_ISCONN; |
407 | case EACCES: return "permission denied"; | 408 | case EACCES: return PIE_ACCESS; |
408 | case ECONNREFUSED: return "connection refused"; | 409 | case ECONNREFUSED: return PIE_CONNREFUSED; |
409 | case ECONNABORTED: return "closed"; | 410 | case ECONNABORTED: return PIE_CONNABORTED; |
410 | case ECONNRESET: return "closed"; | 411 | case ECONNRESET: return PIE_CONNRESET; |
411 | case ETIMEDOUT: return "timeout"; | 412 | case ETIMEDOUT: return PIE_TIMEDOUT; |
412 | default: return strerror(err); | 413 | default: return strerror(err); |
413 | } | 414 | } |
414 | } | 415 | } |
@@ -421,22 +422,21 @@ const char *socket_ioerror(p_socket ps, int err) { | |||
421 | const char *socket_gaistrerror(int err) { | 422 | const char *socket_gaistrerror(int err) { |
422 | if (err == 0) return NULL; | 423 | if (err == 0) return NULL; |
423 | switch (err) { | 424 | switch (err) { |
424 | case EAI_AGAIN: return "temporary failure in name resolution"; | 425 | case EAI_AGAIN: return PIE_AGAIN; |
425 | case EAI_BADFLAGS: return "invalid value for ai_flags"; | 426 | case EAI_BADFLAGS: return PIE_BADFLAGS; |
426 | #ifdef EAI_BADHINTS | 427 | #ifdef EAI_BADHINTS |
427 | case EAI_BADHINTS: return "invalid value for hints"; | 428 | case EAI_BADHINTS: return PIE_BADHINTS; |
428 | #endif | 429 | #endif |
429 | case EAI_FAIL: return "non-recoverable failure in name resolution"; | 430 | case EAI_FAIL: return PIE_FAIL; |
430 | case EAI_FAMILY: return "ai_family not supported"; | 431 | case EAI_FAMILY: return PIE_FAMILY; |
431 | case EAI_MEMORY: return "memory allocation failure"; | 432 | case EAI_MEMORY: return PIE_MEMORY; |
432 | case EAI_NONAME: | 433 | case EAI_NONAME: return PIE_NONAME; |
433 | return "host or service not provided, or not known"; | 434 | case EAI_OVERFLOW: return PIE_OVERFLOW; |
434 | case EAI_OVERFLOW: return "argument buffer overflow"; | ||
435 | #ifdef EAI_PROTOCOL | 435 | #ifdef EAI_PROTOCOL |
436 | case EAI_PROTOCOL: return "resolved protocol is unknown"; | 436 | case EAI_PROTOCOL: return PIE_PROTOCOL; |
437 | #endif | 437 | #endif |
438 | case EAI_SERVICE: return "service not supported for socket type"; | 438 | case EAI_SERVICE: return PIE_SERVICE; |
439 | case EAI_SOCKTYPE: return "ai_socktype not supported"; | 439 | case EAI_SOCKTYPE: return PIE_SOCKTYPE; |
440 | case EAI_SYSTEM: return strerror(errno); | 440 | case EAI_SYSTEM: return strerror(errno); |
441 | default: return gai_strerror(err); | 441 | default: return gai_strerror(err); |
442 | } | 442 | } |