| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the mingw-w64 runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| */ | |
| #define _CTYPE_DISABLE_MACROS | |
| #include <wctype.h> | |
| /** | |
| * Both `wctrans` and `towctrans` functions were added in msvcr120.dll. | |
| * | |
| * CRT's `towctrans` does not properly handle case when second argument is | |
| * `(wctrans_t)0`. | |
| */ | |
| /** | |
| * This is CRT's `towctrans` renamed to `__msvcrt_towctrans`. | |
| */ | |
| extern wint_t (__cdecl *__MINGW_IMP_SYMBOL (__msvcrt_towctrans)) (wint_t, wctrans_t); | |
| wint_t __cdecl towctrans (wint_t _C, wctrans_t _Type) { | |
| /** | |
| * POSIX requires that if `_Type` is zero, `_C` is returned unchanged. | |
| */ | |
| if (_Type == (wctrans_t) 0) { | |
| return _C; | |
| } | |
| return __MINGW_IMP_SYMBOL (__msvcrt_towctrans) (_C, _Type); | |
| } | |
| wint_t (__cdecl *__MINGW_IMP_SYMBOL (towctrans)) (wint_t, wctrans_t) = towctrans; |