kernel32: Implement CAL_RETURN_GENITIVE_NAMES flag.
David Keijser
keijser at gmail.com
Tue Aug 30 14:42:51 CDT 2016
Forward CAL_RETURN_GENITIVE_NAMES flag to GetLocaleInfoW for month
names.
Signed-off-by: David Keijser <keijser at gmail.com>
---
dlls/kernel32/time.c | 58 +++++++++++++++++++++++++++-------------------------
include/winnls.h | 7 ++++---
2 files changed, 34 insertions(+), 31 deletions(-)
diff --git a/dlls/kernel32/time.c b/dlls/kernel32/time.c
index b7a7918..d817177 100644
--- a/dlls/kernel32/time.c
+++ b/dlls/kernel32/time.c
@@ -876,9 +876,11 @@ int WINAPI GetCalendarInfoW(LCID Locale, CALID Calendar, CALTYPE CalType,
WARN("lpValue not NULL (%p) when it should!\n", lpValue);
}
+ int localeFlags = (CalType & CAL_RETURN_GENITIVE_NAMES);
+
/* FIXME: No verification is made yet wrt Locale
* for the CALTYPES not requiring GetLocaleInfoA */
- switch (CalType & ~(CAL_NOUSEROVERRIDE|CAL_RETURN_NUMBER|CAL_USE_CP_ACP)) {
+ switch (CalType & ~(CAL_NOUSEROVERRIDE|CAL_RETURN_NUMBER|CAL_USE_CP_ACP|CAL_RETURN_GENITIVE_NAMES)) {
case CAL_ICALINTVALUE:
if (CalType & CAL_RETURN_NUMBER)
return GetLocaleInfoW(Locale, LOCALE_RETURN_NUMBER | LOCALE_ICALENDARTYPE,
@@ -927,59 +929,59 @@ int WINAPI GetCalendarInfoW(LCID Locale, CALID Calendar, CALTYPE CalType,
case CAL_SABBREVDAYNAME7:
return GetLocaleInfoW(Locale, LOCALE_SABBREVDAYNAME7, lpCalData, cchData);
case CAL_SMONTHNAME1:
- return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME1, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME1 | localeFlags, lpCalData, cchData);
case CAL_SMONTHNAME2:
- return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME2, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME2 | localeFlags, lpCalData, cchData);
case CAL_SMONTHNAME3:
- return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME3, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME3 | localeFlags, lpCalData, cchData);
case CAL_SMONTHNAME4:
- return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME4, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME4 | localeFlags, lpCalData, cchData);
case CAL_SMONTHNAME5:
- return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME5, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME5 | localeFlags, lpCalData, cchData);
case CAL_SMONTHNAME6:
- return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME6, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME6 | localeFlags, lpCalData, cchData);
case CAL_SMONTHNAME7:
- return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME7, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME7 | localeFlags, lpCalData, cchData);
case CAL_SMONTHNAME8:
- return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME8, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME8 | localeFlags, lpCalData, cchData);
case CAL_SMONTHNAME9:
- return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME9, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME9 | localeFlags, lpCalData, cchData);
case CAL_SMONTHNAME10:
- return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME10, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME10 | localeFlags, lpCalData, cchData);
case CAL_SMONTHNAME11:
- return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME11, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME11 | localeFlags, lpCalData, cchData);
case CAL_SMONTHNAME12:
- return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME12, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME12 | localeFlags, lpCalData, cchData);
case CAL_SMONTHNAME13:
- return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME13, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SMONTHNAME13 | localeFlags, lpCalData, cchData);
case CAL_SABBREVMONTHNAME1:
- return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME1, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME1 | localeFlags, lpCalData, cchData);
case CAL_SABBREVMONTHNAME2:
- return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME2, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME2 | localeFlags, lpCalData, cchData);
case CAL_SABBREVMONTHNAME3:
- return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME3, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME3 | localeFlags, lpCalData, cchData);
case CAL_SABBREVMONTHNAME4:
- return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME4, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME4 | localeFlags, lpCalData, cchData);
case CAL_SABBREVMONTHNAME5:
- return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME5, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME5 | localeFlags, lpCalData, cchData);
case CAL_SABBREVMONTHNAME6:
- return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME6, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME6 | localeFlags, lpCalData, cchData);
case CAL_SABBREVMONTHNAME7:
- return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME7, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME7 | localeFlags, lpCalData, cchData);
case CAL_SABBREVMONTHNAME8:
- return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME8, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME8 | localeFlags, lpCalData, cchData);
case CAL_SABBREVMONTHNAME9:
- return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME9, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME9 | localeFlags, lpCalData, cchData);
case CAL_SABBREVMONTHNAME10:
- return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME10, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME10 | localeFlags, lpCalData, cchData);
case CAL_SABBREVMONTHNAME11:
- return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME11, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME11 | localeFlags, lpCalData, cchData);
case CAL_SABBREVMONTHNAME12:
- return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME12, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME12 | localeFlags, lpCalData, cchData);
case CAL_SABBREVMONTHNAME13:
- return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME13, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SABBREVMONTHNAME13 | localeFlags, lpCalData, cchData);
case CAL_SYEARMONTH:
- return GetLocaleInfoW(Locale, LOCALE_SYEARMONTH, lpCalData, cchData);
+ return GetLocaleInfoW(Locale, LOCALE_SYEARMONTH, lpCalData, cchData);
case CAL_ITWODIGITYEARMAX:
if (CalType & CAL_RETURN_NUMBER)
{
diff --git a/include/winnls.h b/include/winnls.h
index 1a7baaf..3d950f6 100644
--- a/include/winnls.h
+++ b/include/winnls.h
@@ -471,9 +471,10 @@ static const WCHAR LOCALE_NAME_SYSTEM_DEFAULT[] = {'!','s','y','s','-','d','e','
#define MAX_DEFAULTCHAR 2
/* Defines for calendar handling */
-#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
-#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
-#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
+#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
+#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
+#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
+#define CAL_RETURN_GENITIVE_NAMES LOCALE_RETURN_GENITIVE_NAMES
#define CAL_ICALINTVALUE 0x01
#define CAL_SCALNAME 0x02
--
2.7.4
More information about the wine-patches
mailing list