From 182e1909b2d8f1cd6ceb392910f0a355da8d249a Mon Sep 17 00:00:00 2001 From: christiaans Date: Mon, 13 Feb 2006 08:14:11 +0000 Subject: [PATCH] Patch from Curt McDowell fixes err_to_errno macro. --- src/api/sockets.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/api/sockets.c b/src/api/sockets.c index 0528ac44..290a7b73 100644 --- a/src/api/sockets.c +++ b/src/api/sockets.c @@ -87,9 +87,12 @@ static int err_to_errno_table[11] = { EADDRINUSE /* ERR_USE -10 Address in use. */ }; +#define ERR_TO_ERRNO_TABLE_SIZE \ + (sizeof(err_to_errno_table)/sizeof(err_to_errno_table[0])) + #define err_to_errno(err) \ - ((err) < (sizeof(err_to_errno_table)/sizeof(int))) ? \ - err_to_errno_table[-(err)] : EIO + (-(err) >= 0 && -(err) < ERR_TO_ERRNO_TABLE_SIZE ? \ + err_to_errno_table[-(err)] : EIO) #ifdef ERRNO #define set_errno(err) errno = (err)