From c1888aba6a3d35c0e30d4ba8e4db4d0ea0eb4f5c Mon Sep 17 00:00:00 2001 From: hyung-hwan Date: Fri, 25 Jul 2014 18:25:41 +0000 Subject: [PATCH] added EWOULDBLOCK into error code translation --- qse/lib/cmn/syserr.h | 26 ++++++++++++++++++++++++++ qse/lib/http/httpd-std.c | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/qse/lib/cmn/syserr.h b/qse/lib/cmn/syserr.h index e6369399..e2332a50 100644 --- a/qse/lib/cmn/syserr.h +++ b/qse/lib/cmn/syserr.h @@ -121,6 +121,30 @@ #else + #if defined(EWOULDBLOCK) && defined(EAGAIN) && (EWOULDBLOCK != EAGAIN) + + #define IMPLEMENT_SYSERR_TO_ERRNUM(obj1,obj2) \ + static __SYSERRTYPE__(obj1) syserr_to_errnum (int e) \ + { \ + switch (e) \ + { \ + case ENOMEM: return __SYSERRNUM__ (obj2, ENOMEM); \ + case EINVAL: return __SYSERRNUM__ (obj2, EINVAL); \ + case EBUSY: \ + case EACCES: return __SYSERRNUM__ (obj2, EACCES); \ + case ENOTDIR: \ + case ENOENT: return __SYSERRNUM__ (obj2, ENOENT); \ + case EEXIST: return __SYSERRNUM__ (obj2, EEXIST); \ + case EINTR: return __SYSERRNUM__ (obj2, EINTR); \ + case EPIPE: return __SYSERRNUM__ (obj2, EPIPE); \ + case EWOULDBLOCK: \ + case EAGAIN: return __SYSERRNUM__ (obj2, EAGAIN); \ + default: return __SYSERRNUM__ (obj2, ESYSERR); \ + } \ + } + + #else + #define IMPLEMENT_SYSERR_TO_ERRNUM(obj1,obj2) \ static __SYSERRTYPE__(obj1) syserr_to_errnum (int e) \ { \ @@ -140,4 +164,6 @@ } \ } + #endif + #endif diff --git a/qse/lib/http/httpd-std.c b/qse/lib/http/httpd-std.c index 386ce515..0fde4fc5 100644 --- a/qse/lib/http/httpd-std.c +++ b/qse/lib/http/httpd-std.c @@ -235,7 +235,7 @@ static qse_httpd_errnum_t skerr_to_errnum (int e) return QSE_HTTPD_EPIPE; case EAGAIN: -#if defined(EWEOULDBLOCK) && defined(EAGAIN) && EWOULDBLOCK != EAGAIN +#if defined(EWEOULDBLOCK) && defined(EAGAIN) && (EWOULDBLOCK != EAGAIN) case EWOULDBLOCK: #endif return QSE_HTTPD_EAGAIN;