From: Piotr Caban Subject: msvcp90: Added wctype implementation Message-Id: <4E32C514.8070404@codeweavers.com> Date: Fri, 29 Jul 2011 16:35:00 +0200 --- dlls/msvcp100/msvcp100.spec | 2 +- dlls/msvcp60/msvcp60.spec | 2 +- dlls/msvcp70/msvcp70.spec | 2 +- dlls/msvcp71/msvcp71.spec | 2 +- dlls/msvcp80/msvcp80.spec | 2 +- dlls/msvcp90/misc.c | 28 ++++++++++++++++++++++++++++ dlls/msvcp90/msvcp90.spec | 2 +- dlls/msvcp90/tests/misc.c | 33 +++++++++++++++++++++++++++++++++ 8 files changed, 67 insertions(+), 6 deletions(-) diff --git a/dlls/msvcp100/msvcp100.spec b/dlls/msvcp100/msvcp100.spec index 260da66..c4b7ffa 100644 --- a/dlls/msvcp100/msvcp100.spec +++ b/dlls/msvcp100/msvcp100.spec @@ -2867,4 +2867,4 @@ @ stub __Wcrtomb_lk @ stub towctrans @ stub wctrans -@ stub wctype +@ cdecl wctype(str) msvcp90.wctype diff --git a/dlls/msvcp60/msvcp60.spec b/dlls/msvcp60/msvcp60.spec index 1e6898e..e63636d 100644 --- a/dlls/msvcp60/msvcp60.spec +++ b/dlls/msvcp60/msvcp60.spec @@ -4317,4 +4317,4 @@ @ cdecl wcsrtombs(ptr ptr long ptr) msvcrt.wcsrtombs @ cdecl wctob(long) msvcrt.wctob @ stub wctrans -@ stub wctype +@ cdecl wctype(str) msvcp90.wctype diff --git a/dlls/msvcp70/msvcp70.spec b/dlls/msvcp70/msvcp70.spec index 9cb9a2a..fa74b0c 100644 --- a/dlls/msvcp70/msvcp70.spec +++ b/dlls/msvcp70/msvcp70.spec @@ -5106,4 +5106,4 @@ @ cdecl wcsrtombs(ptr ptr long ptr) msvcrt.wcsrtombs @ cdecl wctob(long) msvcrt.wctob @ stub wctrans -@ stub wctype +@ cdecl wctype(str) msvcp90.wctype diff --git a/dlls/msvcp71/msvcp71.spec b/dlls/msvcp71/msvcp71.spec index 891d0e5..b21b549 100644 --- a/dlls/msvcp71/msvcp71.spec +++ b/dlls/msvcp71/msvcp71.spec @@ -5166,4 +5166,4 @@ @ cdecl wcsrtombs(ptr ptr long ptr) msvcrt.wcsrtombs @ cdecl wctob(long) msvcrt.wctob @ stub wctrans -@ stub wctype +@ cdecl wctype(str) msvcp90.wctype diff --git a/dlls/msvcp80/msvcp80.spec b/dlls/msvcp80/msvcp80.spec index 2c477db..c81a711 100644 --- a/dlls/msvcp80/msvcp80.spec +++ b/dlls/msvcp80/msvcp80.spec @@ -5787,4 +5787,4 @@ @ stub __Wcrtomb_lk @ stub towctrans @ stub wctrans -@ stub wctype +@ cdecl wctype(str) msvcp90.wctype diff --git a/dlls/msvcp90/misc.c b/dlls/msvcp90/misc.c index f0d1923..19cf293 100644 --- a/dlls/msvcp90/misc.c +++ b/dlls/msvcp90/misc.c @@ -172,3 +172,31 @@ void __thiscall _Lockit_dtor(_Lockit *this) { _Lockit__Lockit_dtor(this); } + +/* wctype */ +unsigned short wctype(const char *property) +{ + static const struct { + const char *name; + unsigned short mask; + } properties[] = { + { "alnum", _DIGIT|_ALPHA }, + { "alpha", _ALPHA }, + { "cntrl", _CONTROL }, + { "digit", _DIGIT }, + { "graph", _DIGIT|_PUNCT|_ALPHA }, + { "lower", _LOWER }, + { "print", _DIGIT|_PUNCT|_BLANK|_ALPHA }, + { "punct", _PUNCT }, + { "space", _SPACE }, + { "upper", _UPPER }, + { "xdigit", _HEX } + }; + int i; + + for(i=0; i