X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Fwchar.h;h=0167dce6b577a5f3349b5eef30ba000265560a09;hb=756c8af8589265e99e454fe3adcda1d0bc5e1963;hp=0f1f6d264e997f12ff87566aa76e390a42659f4c;hpb=a3e2f3c2b15053a2f9faccc62947b82f2219599f;p=musl diff --git a/include/wchar.h b/include/wchar.h index 0f1f6d26..0167dce6 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -12,14 +12,15 @@ extern "C" { #define __NEED_size_t #define __NEED_wchar_t #define __NEED_wint_t +#define __NEED_mbstate_t #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ - || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #define __NEED_locale_t #define __NEED_va_list #endif -#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #define __NEED_wctype_t #endif @@ -33,15 +34,14 @@ extern "C" { #define WCHAR_MIN (-1-0x7fffffff+L'\0') #endif +#ifdef __cplusplus #define NULL 0L +#else +#define NULL ((void*)0) +#endif #undef WEOF -#define WEOF (-1) - -typedef struct -{ - unsigned __opaque1, __opaque2; -} mbstate_t; +#define WEOF 0xffffffffU wchar_t *wcscpy (wchar_t *__restrict, const wchar_t *__restrict); wchar_t *wcsncpy (wchar_t *__restrict, const wchar_t *__restrict, size_t); @@ -137,7 +137,7 @@ size_t wcsftime (wchar_t *__restrict, size_t, const wchar_t *__restrict, const s #undef iswdigit #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ - || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) FILE *open_wmemstream(wchar_t **, size_t *); size_t mbsnrtowcs(wchar_t *__restrict, const char **__restrict, size_t, size_t, mbstate_t *__restrict); size_t wcsnrtombs(char *__restrict, const wchar_t **__restrict, size_t, size_t, mbstate_t *__restrict); @@ -153,7 +153,7 @@ int wcscoll_l(const wchar_t *, const wchar_t *, locale_t); size_t wcsxfrm_l(wchar_t *__restrict, const wchar_t *__restrict, size_t n, locale_t); #endif -#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) int wcwidth (wchar_t); int wcswidth (const wchar_t *, size_t); int iswalnum(wint_t); @@ -172,8 +172,11 @@ int iswctype(wint_t, wctype_t); wint_t towlower(wint_t); wint_t towupper(wint_t); wctype_t wctype(const char *); + +#ifndef __cplusplus #undef iswdigit -#define iswdigit(a) ((unsigned)(a)-'0' < 10) +#define iswdigit(a) (0 ? iswdigit(a) : ((unsigned)(a)-'0') < 10) +#endif #endif #ifdef __cplusplus