diff --git a/dlls/msvcp100/msvcp100.spec b/dlls/msvcp100/msvcp100.spec index 260da66d001..c4b7ffa38ea 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 1e6898e9480..e63636de749 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 9cb9a2a77bc..fa74b0c69f2 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 891d0e50989..b21b5492011 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 2c477dbd61e..c81a711bdab 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 f0d1923d341..3ce1784cb28 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 __cdecl 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