Changeset View
Changeset View
Standalone View
Standalone View
lib/libc/string/strerror.c
Show First 20 Lines • Show All 122 Lines • ▼ Show 20 Lines | |||||
strerror_r(int errnum, char *strerrbuf, size_t buflen) | strerror_r(int errnum, char *strerrbuf, size_t buflen) | ||||
{ | { | ||||
return (strerror_rl(errnum, strerrbuf, buflen, __get_locale())); | return (strerror_rl(errnum, strerrbuf, buflen, __get_locale())); | ||||
} | } | ||||
char * | char * | ||||
strerror_l(int num, locale_t locale) | strerror_l(int num, locale_t locale) | ||||
{ | { | ||||
#ifndef __NO_TLS | |||||
static _Thread_local char ebuf[NL_TEXTMAX]; | static _Thread_local char ebuf[NL_TEXTMAX]; | ||||
if (strerror_rl(num, ebuf, sizeof(ebuf), locale) != 0) | if (strerror_rl(num, ebuf, sizeof(ebuf), locale) != 0) | ||||
errno = EINVAL; | errno = EINVAL; | ||||
return (ebuf); | return (ebuf); | ||||
#else | |||||
errno = ENOTSUP; | |||||
return (NULL); | |||||
#endif | |||||
} | } | ||||
char * | char * | ||||
strerror(int num) | strerror(int num) | ||||
{ | { | ||||
static char ebuf[NL_TEXTMAX]; | static char ebuf[NL_TEXTMAX]; | ||||
if (strerror_rl(num, ebuf, sizeof(ebuf), __get_locale()) != 0) | if (strerror_rl(num, ebuf, sizeof(ebuf), __get_locale()) != 0) | ||||
errno = EINVAL; | errno = EINVAL; | ||||
return (ebuf); | return (ebuf); | ||||
} | } |