X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=functions%2Fwctype%2Ftowupper.c;h=e04ebc0f996e79fa9a10b5aa76cdfd49a76cae76;hp=faac657501cac24ec24b262673befcdb97f5713f;hb=da0f3f353d417fed71f358a48d5d5394145e460d;hpb=75bf0c22663cec60d8164c8cf77e855a8b6ad459 diff --git a/functions/wctype/towupper.c b/functions/wctype/towupper.c index faac657..e04ebc0 100644 --- a/functions/wctype/towupper.c +++ b/functions/wctype/towupper.c @@ -6,23 +6,28 @@ #include #ifndef REGTEST -#include <_PDCLIB_locale.h> +#include "_PDCLIB_locale.h" -wint_t towupper( wint_t wc ) +wint_t _PDCLIB_towupper_l( wint_t wc, locale_t l ) { wint_t uwc = _PDCLIB_unpackwint( wc ); - _PDCLIB_wcinfo_t *info = _PDCLIB_wcgetinfo( uwc ); - if( info && info->upper != uwc ) + _PDCLIB_wcinfo_t *info = _PDCLIB_wcgetinfo( l, uwc ); + if( info ) { - wc = info->upper; + uwc += info->upper_delta; } - return wc; + return uwc; +} + +wint_t towupper( wint_t wc ) +{ + return _PDCLIB_towupper_l( wc, _PDCLIB_threadlocale() ); } #endif #ifdef TEST -#include <_PDCLIB_test.h> +#include "_PDCLIB_test.h" int main( void ) {