aboutsummaryrefslogtreecommitdiff
path: root/src/usocket.c
diff options
context:
space:
mode:
authorThijs Schreijer <thijs@thijsschreijer.nl>2015-03-03 21:17:06 +0100
committerThijs Schreijer <thijs@thijsschreijer.nl>2015-03-03 21:17:06 +0100
commitd3ed08616bdc4be62ab64332e0118090f1c6fce1 (patch)
treec3c5b37d2a688e3ec2c40fd590dc84f78b74b64f /src/usocket.c
parent76ed24fe8ae8c728de0d7d065918a5cd74fe7303 (diff)
downloadluasocket-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.c40
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) {
394const char *socket_hoststrerror(int err) { 395const 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) {
402const char *socket_strerror(int err) { 403const 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) {
421const char *socket_gaistrerror(int err) { 422const 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 }