diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index d872571cd40..04535b38bd0 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -148,7 +148,7 @@ @ cdecl __crtCompareStringA(long long str long str long) msvcrt.__crtCompareStringA @ cdecl __crtCompareStringW(long long wstr long wstr long) msvcrt.__crtCompareStringW @ cdecl __crtGetLocaleInfoW(long long ptr long) msvcrt.__crtGetLocaleInfoW -@ stub __crtGetStringTypeW +@ cdecl __crtGetStringTypeW(long long wstr long ptr) msvcrt.__crtGetStringTypeW @ cdecl __crtLCMapStringA(long long str long ptr long long long) msvcrt.__crtLCMapStringA @ stub __crtLCMapStringW @ stub __daylight diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 75740ecfadc..ae13be471b7 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -145,7 +145,7 @@ @ cdecl __crtCompareStringA(long long str long str long) msvcrt.__crtCompareStringA @ cdecl __crtCompareStringW(long long wstr long wstr long) msvcrt.__crtCompareStringW @ cdecl __crtGetLocaleInfoW(long long ptr long) msvcrt.__crtGetLocaleInfoW -@ stub __crtGetStringTypeW +@ cdecl __crtGetStringTypeW(long long wstr long ptr) msvcrt.__crtGetStringTypeW @ cdecl __crtLCMapStringA(long long str long ptr long long long) msvcrt.__crtLCMapStringA @ stub __crtLCMapStringW @ stub __daylight diff --git a/dlls/msvcrt/locale.c b/dlls/msvcrt/locale.c index fe369766c09..fe77b83ba64 100644 --- a/dlls/msvcrt/locale.c +++ b/dlls/msvcrt/locale.c @@ -54,6 +54,7 @@ unsigned char charmax = CHAR_MAX; #define UNLOCK_LOCALE _munlock(_SETLOCALE_LOCK); #define MSVCRT_LEADBYTE 0x8000 +#define MSVCRT_C1_DEFINED 0x200 /* Friendly country strings & iso codes for synonym support. * Based on MS documentation for setlocale(). @@ -457,6 +458,21 @@ int CDECL __crtGetLocaleInfoW( LCID lcid, LCTYPE type, MSVCRT_wchar_t *buffer, i return GetLocaleInfoW( lcid, type, buffer, len ); } +/********************************************************************* + * __crtGetStringTypeW(MSVCRT.@) + * + * This function was accepting different number of arguments in older + * versions of msvcrt. + */ +BOOL CDECL __crtGetStringTypeW(DWORD unk, DWORD type, + MSVCRT_wchar_t *buffer, int len, WORD *out) +{ + FIXME("(unk %x, type %x, wstr %p(%d), %p) partial stub\n", + unk, type, buffer, len, out); + + return GetStringTypeW(type, buffer, len, out); +} + /********************************************************************* * localeconv (MSVCRT.@) */ diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index dffd74981e5..f4f9ee8af1c 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -138,7 +138,7 @@ @ cdecl __crtCompareStringA(long long str long str long) @ cdecl __crtCompareStringW(long long wstr long wstr long) @ cdecl __crtGetLocaleInfoW(long long ptr long) -# stub __crtGetStringTypeW +@ cdecl __crtGetStringTypeW(long long wstr long ptr) @ cdecl __crtLCMapStringA(long long str long ptr long long long) # stub __crtLCMapStringW # stub __daylight