diff --git a/src/lib/eina/eina_error.c b/src/lib/eina/eina_error.c index a7faadeb3b..7922933e59 100644 --- a/src/lib/eina/eina_error.c +++ b/src/lib/eina/eina_error.c @@ -25,10 +25,6 @@ #include #include -#ifdef _WIN32 -# include -#endif - #include "eina_config.h" #include "eina_private.h" @@ -111,6 +107,18 @@ _eina_error_msg_alloc(void) return _eina_errors + idx; } +#ifdef _WIN32 +# define HAVE_STRERROR_R +# ifdef STRERROR_R_CHAR_P +# undef STRERROR_R_CHAR_P +# endif +/* Windows has strerror_s(), similar to POSIX strerror_r() */ +static inline int strerror_r(int errnum, char *buf, size_t buflen) +{ + return strerror_s(buf, buflen, errnum); +} +#endif + /** * @endcond */