diff options
Diffstat (limited to 'src/util')
| -rw-r--r-- | src/util/error.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/util/error.h b/src/util/error.h index 0849ddb..c45f0f0 100644 --- a/src/util/error.h +++ b/src/util/error.h @@ -1,3 +1,5 @@ +#pragma once + #include <al/lib.h> #include <errno.h> @@ -9,7 +11,11 @@ extern __al_thread char errorbuf[AKI_ERROR_STR_MAXLEN]; static inline char *aki_strerror(s32 errnum) { #ifndef _WIN32 - (void)!strerror_r(errnum, errorbuf, AKI_ERROR_STR_MAXLEN); +#if (_POSIX_C_SOURCE >= 200112L) && ! _GNU_SOURCE + if (strerror_r(errnum, errorbuf, AKI_ERROR_STR_MAXLEN) != 0) errorbuf[0] = '\0'; +#else + return strerror_r(errnum, errorbuf, AKI_ERROR_STR_MAXLEN); +#endif #else strerror_s(errorbuf, AKI_ERROR_STR_MAXLEN, errnum); #endif |