mirror of
git://git.musl-libc.org/musl
synced 2024-12-29 02:12:51 +00:00
c4dd0c98ba
aside from the obvious C++ ABI purpose for this change, it also brings musl into alignment with the compiler's idea of the definition of wint_t (use in -Wformat), and makes the situation less awkward on ARM, where wchar_t is unsigned. internal code using wint_t and WEOF was checked against this change, and while a few cases of storing WEOF into wchar_t were found, they all seem to operate properly with the natural conversion from unsigned to signed.
78 lines
1.8 KiB
C
78 lines
1.8 KiB
C
#ifndef _WCTYPE_H
|
|
#define _WCTYPE_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <features.h>
|
|
|
|
#define __NEED_wint_t
|
|
#define __NEED_wctype_t
|
|
|
|
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|
|
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
|
|
#define __NEED_locale_t
|
|
#endif
|
|
|
|
#include <bits/alltypes.h>
|
|
|
|
typedef const int * wctrans_t;
|
|
|
|
#undef WEOF
|
|
#define WEOF 0xffffffffU
|
|
|
|
#undef iswdigit
|
|
|
|
int iswalnum(wint_t);
|
|
int iswalpha(wint_t);
|
|
int iswblank(wint_t);
|
|
int iswcntrl(wint_t);
|
|
int iswdigit(wint_t);
|
|
int iswgraph(wint_t);
|
|
int iswlower(wint_t);
|
|
int iswprint(wint_t);
|
|
int iswpunct(wint_t);
|
|
int iswspace(wint_t);
|
|
int iswupper(wint_t);
|
|
int iswxdigit(wint_t);
|
|
int iswctype(wint_t, wctype_t);
|
|
wint_t towctrans(wint_t, wctrans_t);
|
|
wint_t towlower(wint_t);
|
|
wint_t towupper(wint_t);
|
|
wctrans_t wctrans(const char *);
|
|
wctype_t wctype(const char *);
|
|
|
|
#undef iswdigit
|
|
#define iswdigit(a) (((unsigned)(a)-L'0') < 10)
|
|
|
|
#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|
|
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
|
|
|
|
int iswalnum_l(wint_t, locale_t);
|
|
int iswalpha_l(wint_t, locale_t);
|
|
int iswblank_l(wint_t, locale_t);
|
|
int iswcntrl_l(wint_t, locale_t);
|
|
int iswdigit_l(wint_t, locale_t);
|
|
int iswgraph_l(wint_t, locale_t);
|
|
int iswlower_l(wint_t, locale_t);
|
|
int iswprint_l(wint_t, locale_t);
|
|
int iswpunct_l(wint_t, locale_t);
|
|
int iswspace_l(wint_t, locale_t);
|
|
int iswupper_l(wint_t, locale_t);
|
|
int iswxdigit_l(wint_t, locale_t);
|
|
int iswctype_l(wint_t, wctype_t, locale_t);
|
|
wint_t towlower_l(wint_t, locale_t);
|
|
wint_t towupper_l(wint_t, locale_t);
|
|
wint_t towctrans_l(wint_t, wctrans_t, locale_t);
|
|
wctrans_t wctrans_l(const char *, locale_t);
|
|
wctype_t wctype_l(const char *, locale_t);
|
|
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|