From 6da28e73eb528b7e8104e30f4e4f987d27767610 Mon Sep 17 00:00:00 2001 From: Love Hornquist Astrand Date: Thu, 11 Mar 2010 23:35:00 -0800 Subject: [PATCH] move same ifdef magic from roken-common.h.in to here, use strerror() --- lib/roken/strerror_r.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/lib/roken/strerror_r.c b/lib/roken/strerror_r.c index 63dae09a7..440d01141 100644 --- a/lib/roken/strerror_r.c +++ b/lib/roken/strerror_r.c @@ -33,7 +33,7 @@ #include -#if !defined(HAVE_STRERROR_R) && !defined(STRERROR_R_PROTO_COMPATIBLE) +#if (!defined(HAVE_STRERROR_R) && !defined(strerror_r)) || (!defined(STRERROR_R_PROTO_COMPATIBLE) && defined(HAVE_STRERROR_R)) #include #include @@ -58,11 +58,6 @@ rk_strerror_r(int eno, char * strerrbuf, size_t buflen) #else /* _MSC_VER */ -#ifndef HAVE_STRERROR_R -extern int sys_nerr; -extern char *sys_errlist[]; -#endif - int ROKEN_LIB_FUNCTION rk_strerror_r(int eno, char *strerrbuf, size_t buflen) { @@ -76,11 +71,7 @@ rk_strerror_r(int eno, char *strerrbuf, size_t buflen) return 0; #else int ret; - if(eno < 0 || eno >= sys_nerr) { - snprintf(strerrbuf, buflen, "Error %d occurred.", eno); - return EINVAL; - } - ret = snprintf(strerrbuf, buflen, "%s", sys_errlist[eno]); + ret = strlcpy(strerrbuf, buflen, strerror(eno)); if (ret > buflen) return ERANGE; return 0;