[v2 PATCH 2/4] kernel32: EnumTimeFormatsA() doesn't support TIME_NOSECONDS
Nikolay Sivov
nsivov at codeweavers.com
Tue Nov 10 08:40:08 CST 2015
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
v2: wrong error code was used in v1
dlls/kernel32/lcformat.c | 6 ++++++
dlls/kernel32/tests/locale.c | 3 +--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/dlls/kernel32/lcformat.c b/dlls/kernel32/lcformat.c
index 48adb11..9ca3e07 100644
--- a/dlls/kernel32/lcformat.c
+++ b/dlls/kernel32/lcformat.c
@@ -1930,6 +1930,12 @@ BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA proc, LCID lcid, DWORD flags)
{
char buf[256];
+ if (flags & ~LOCALE_USE_CP_ACP)
+ {
+ SetLastError(ERROR_INVALID_FLAGS);
+ return FALSE;
+ }
+
if (!proc)
{
SetLastError(ERROR_INVALID_PARAMETER);
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c
index b34767b..6fa2627 100644
--- a/dlls/kernel32/tests/locale.c
+++ b/dlls/kernel32/tests/locale.c
@@ -3520,14 +3520,13 @@ static void test_EnumTimeFormatsW(void)
/* EnumTimeFormatsA doesn't support this flag */
ret = EnumTimeFormatsA(enum_datetime_procA, lcid, TIME_NOSECONDS);
- todo_wine {
ok(!ret && GetLastError() == ERROR_INVALID_FLAGS, "EnumTimeFormatsA(TIME_NOSECONDS) ret %d, error %d\n", ret,
GetLastError());
ret = EnumTimeFormatsA(NULL, lcid, TIME_NOSECONDS);
ok(!ret && GetLastError() == ERROR_INVALID_FLAGS, "EnumTimeFormatsA(TIME_NOSECONDS) ret %d, error %d\n", ret,
GetLastError());
- }
+
/* And it's not supported by GetLocaleInfoA either */
ret = GetLocaleInfoA(lcid, LOCALE_SSHORTTIME, buf, sizeof(buf)/sizeof(buf[0]));
ok(!ret && GetLastError() == ERROR_INVALID_FLAGS, "GetLocaleInfoA(LOCALE_SSHORTTIME) ret %d, error %d\n", ret,
--
2.6.2
More information about the wine-patches
mailing list