use macros ERRNO, SET_ERRNO(), SOCKERRNO and SET_SOCKERRNO() for errno handling

This commit is contained in:
Yang Tse 2007-02-16 16:01:19 +00:00
parent aa4435c23b
commit 4894ce16fc
9 changed files with 31 additions and 72 deletions

View file

@ -46,20 +46,6 @@ static int *fd = NULL;
static struct rlimit num_open;
static char msgbuff[256];
/*
* our_errno() returns the NOT *socket-related* errno (or equivalent)
* on this platform to hide platform specific for the calling function.
*/
static int our_errno(void)
{
#ifdef WIN32
return (int)GetLastError();
#else
return errno;
#endif
}
static void store_errmsg(const char *msg, int err)
{
if (!err)
@ -102,7 +88,7 @@ static int rlimit(int keep_open)
/* get initial open file limits */
if (getrlimit(RLIMIT_NOFILE, &rl) != 0) {
store_errmsg("getrlimit() failed", our_errno());
store_errmsg("getrlimit() failed", ERRNO);
fprintf(stderr, "%s\n", msgbuff);
return -1;
}
@ -145,7 +131,7 @@ static int rlimit(int keep_open)
fprintf(stderr, "raising soft limit up to hard limit\n");
rl.rlim_cur = rl.rlim_max;
if (setrlimit(RLIMIT_NOFILE, &rl) != 0) {
store_errmsg("setrlimit() failed", our_errno());
store_errmsg("setrlimit() failed", ERRNO);
fprintf(stderr, "%s\n", msgbuff);
return -2;
}
@ -153,7 +139,7 @@ static int rlimit(int keep_open)
/* get current open file limits */
if (getrlimit(RLIMIT_NOFILE, &rl) != 0) {
store_errmsg("getrlimit() failed", our_errno());
store_errmsg("getrlimit() failed", ERRNO);
fprintf(stderr, "%s\n", msgbuff);
return -3;
}
@ -233,7 +219,7 @@ static int rlimit(int keep_open)
}
} while (nitems && !memchunk);
if (!memchunk) {
store_errmsg("memchunk, malloc() failed", our_errno());
store_errmsg("memchunk, malloc() failed", ERRNO);
fprintf(stderr, "%s\n", msgbuff);
return -5;
}
@ -268,7 +254,7 @@ static int rlimit(int keep_open)
fd = malloc(sizeof(*fd) * (size_t)(num_open.rlim_max));
if (!fd) {
store_errmsg("fd, malloc() failed", our_errno());
store_errmsg("fd, malloc() failed", ERRNO);
fprintf(stderr, "%s\n", msgbuff);
free(memchunk);
return -7;
@ -291,7 +277,7 @@ static int rlimit(int keep_open)
fd[0] = open(DEV_NULL, O_RDONLY);
if (fd[0] < 0) {
sprintf(strbuff, "opening of %s failed", DEV_NULL);
store_errmsg(strbuff, our_errno());
store_errmsg(strbuff, ERRNO);
fprintf(stderr, "%s\n", msgbuff);
free(fd);
fd = NULL;

View file

@ -48,20 +48,6 @@ static int *fd = NULL;
static struct rlimit num_open;
static char msgbuff[256];
/*
* our_errno() returns the NOT *socket-related* errno (or equivalent)
* on this platform to hide platform specific for the calling function.
*/
static int our_errno(void)
{
#ifdef WIN32
return (int)GetLastError();
#else
return errno;
#endif
}
static void store_errmsg(const char *msg, int err)
{
if (!err)
@ -104,7 +90,7 @@ static int rlimit(int keep_open)
/* get initial open file limits */
if (getrlimit(RLIMIT_NOFILE, &rl) != 0) {
store_errmsg("getrlimit() failed", our_errno());
store_errmsg("getrlimit() failed", ERRNO);
fprintf(stderr, "%s\n", msgbuff);
return -1;
}
@ -141,7 +127,7 @@ static int rlimit(int keep_open)
fprintf(stderr, "raising soft limit up to hard limit\n");
rl.rlim_cur = rl.rlim_max;
if (setrlimit(RLIMIT_NOFILE, &rl) != 0) {
store_errmsg("setrlimit() failed", our_errno());
store_errmsg("setrlimit() failed", ERRNO);
fprintf(stderr, "%s\n", msgbuff);
return -2;
}
@ -149,7 +135,7 @@ static int rlimit(int keep_open)
/* get current open file limits */
if (getrlimit(RLIMIT_NOFILE, &rl) != 0) {
store_errmsg("getrlimit() failed", our_errno());
store_errmsg("getrlimit() failed", ERRNO);
fprintf(stderr, "%s\n", msgbuff);
return -3;
}
@ -208,7 +194,7 @@ static int rlimit(int keep_open)
}
} while (nitems && !memchunk);
if (!memchunk) {
store_errmsg("memchunk, malloc() failed", our_errno());
store_errmsg("memchunk, malloc() failed", ERRNO);
fprintf(stderr, "%s\n", msgbuff);
return -4;
}
@ -263,7 +249,7 @@ static int rlimit(int keep_open)
}
} while (num_open.rlim_max && !fd);
if (!fd) {
store_errmsg("fd, malloc() failed", our_errno());
store_errmsg("fd, malloc() failed", ERRNO);
fprintf(stderr, "%s\n", msgbuff);
free(memchunk);
return -6;
@ -286,7 +272,7 @@ static int rlimit(int keep_open)
fd[0] = open(DEV_NULL, O_RDONLY);
if (fd[0] < 0) {
sprintf(strbuff, "opening of %s failed", DEV_NULL);
store_errmsg(strbuff, our_errno());
store_errmsg(strbuff, ERRNO);
fprintf(stderr, "%s\n", msgbuff);
free(fd);
fd = NULL;

View file

@ -8,18 +8,17 @@
* $Id$
*/
#ifdef HAVE_CONFIG_H
/* Now include the setup.h file from libcurl's private libdir (the source
version, but that might include "config.h" from the build dir so we need
both of them in the include path), so that we get good in-depth knowledge
about the system we're building this on */
#include "setup.h"
#endif
#include <curl.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>