Fix mxb_strerror

The function should not be an inline function with a static variable. This
appears to cause problems on at least Debian Wheezy and is likely to cause
odd behavior on other platforms.

Also renamed the file to <maxbase/string.h> to better mirror how the
<string.h> file behaves.
This commit is contained in:
Markus Mäkelä
2018-08-15 14:00:17 +03:00
parent 3b8f01e136
commit be4f9125f0
5 changed files with 32 additions and 7 deletions

View File

@ -14,16 +14,7 @@
#include <maxbase/cdefs.h>
#include <string.h>
inline const char* mxb_strerror(int error)
{
// Enough for all errors
static thread_local char errbuf[512];
#ifdef HAVE_GLIBC
return strerror_r(error, errbuf, sizeof(errbuf));
#else
strerror_r(error, errbuf, sizeof(errbuf));
return errbuf;
#endif
}
/**
* Thread-safe strerror
*/
const char* mxb_strerror(int error);