instead of catching all non-compliant cases, use a !catch all
@@ -30,7 +30,7 @@ static const char *errToStr(const int errnum)
return buff;
#else
//http://linux.die.net/man/3/strerror_r
- #if ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE) || __APPLE__
+ #if !(defined(__GLIBC__) && defined(__GNU_SOURCE))
strerror_r(errnum, buff, sizeof(buff));
#else
//this version may decide to use its own internal string
