From: Vijay Kiran Kamuju infyquest@gmail.com
Signed-off-by: Vijay Kiran Kamuju infyquest@gmail.com --- dlls/bcp47langs/bcp47langs.spec | 2 +- dlls/bcp47langs/main.c | 15 ++++++++++++--- dlls/bcp47langs/tests/Makefile.in | 2 +- dlls/bcp47langs/tests/bcp47langs.c | 21 +++++++++++++++++++++ 4 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/dlls/bcp47langs/bcp47langs.spec b/dlls/bcp47langs/bcp47langs.spec index c90a2b59d49..1904021219f 100644 --- a/dlls/bcp47langs/bcp47langs.spec +++ b/dlls/bcp47langs/bcp47langs.spec @@ -48,7 +48,7 @@ @ stub GetUserDisplayLanguageOverride @ stub GetUserLanguageInputMethods @ stub GetUserLanguageInputMethodsForUser -@ stub GetUserLanguages +@ stdcall GetUserLanguages(long ptr) @ stub GetUserLanguagesForAllUsers @ stub GetUserLanguagesForUser @ stub GetUserLocaleFromLanguageProfileOptOut diff --git a/dlls/bcp47langs/main.c b/dlls/bcp47langs/main.c index 7ec9ebef697..ab0a0b59b91 100644 --- a/dlls/bcp47langs/main.c +++ b/dlls/bcp47langs/main.c @@ -17,9 +17,12 @@ */
#include <stdarg.h> -#include <windef.h> -#include <winbase.h> -#include <winnls.h> + +#include "windef.h" +#include "winbase.h" +#include "winnls.h" +#include "winstring.h" + #include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(bcp47langs); @@ -53,3 +56,9 @@ HRESULT WINAPI GetFontFallbackLanguageList(const WCHAR *lang, size_t buffer_leng memcpy(buffer, lang, lang_length * sizeof(WCHAR)); return S_OK; } + +HRESULT WINAPI GetUserLanguages(WCHAR delim, HSTRING *langs) +{ + FIXME("%lc, %p\n", delim, langs); + return S_OK; +} diff --git a/dlls/bcp47langs/tests/Makefile.in b/dlls/bcp47langs/tests/Makefile.in index 3c2cee465cf..43db21a1c47 100644 --- a/dlls/bcp47langs/tests/Makefile.in +++ b/dlls/bcp47langs/tests/Makefile.in @@ -1,5 +1,5 @@ TESTDLL = bcp47langs.dll -IMPORTS = bcp47langs +IMPORTS = combase bcp47langs
SOURCES = \ bcp47langs.c diff --git a/dlls/bcp47langs/tests/bcp47langs.c b/dlls/bcp47langs/tests/bcp47langs.c index 7cdf3ed8ef4..f289fbf2154 100644 --- a/dlls/bcp47langs/tests/bcp47langs.c +++ b/dlls/bcp47langs/tests/bcp47langs.c @@ -18,9 +18,13 @@
#define WIN32_LEAN_AND_MEAN #include <windows.h> + +#include "winstring.h" + #include "wine/test.h"
HRESULT WINAPI GetFontFallbackLanguageList(const WCHAR *, size_t, WCHAR *, size_t *); +DWORD WINAPI GetUserLanguages(WCHAR, HSTRING *);
static void test_GetFontFallbackLanguageList(void) { @@ -63,7 +67,24 @@ static void test_GetFontFallbackLanguageList(void) ok(required_size >= (wcslen(L"en-US") + 1), "Got unexpected size %Iu.\n", required_size); }
+static void test_GetUserLanguages(void) +{ + HSTRING usrlangs; + const WCHAR *langs; + int count = 0; + HRESULT hr; + + hr = GetUserLanguages(';', &usrlangs); + langs = WindowsGetStringRawBuffer(usrlangs, NULL); + ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr); + + for (WCHAR *p = wcstok((WCHAR *)langs, L";"); p; p = wcstok(NULL, L";")) count++; + todo_wine ok(count > 1, "Got count=%d.\n", count); + WindowsDeleteString(usrlangs); +} + START_TEST(bcp47langs) { test_GetFontFallbackLanguageList(); + test_GetUserLanguages(); }