Oh, my bad. Didn't even think to check that. I'll post an updated one shortly.

On Tue, Aug 30, 2016 at 9:16 AM Nikolay Sivov <bunglehead@gmail.com> wrote:
On 29.08.2016 22:24, David Keijser wrote:
> This stops GetCalendarInfoW from reporting unknown caltype when it's
> really a case of unsupported flags.
>
> Signed-off-by: David Keijser <keijser@gmail.com>
> ---
>������ dlls/kernel32/time.c | 4 +++-
>������ include/winnls.h������ ������ ������| 7 ++++---
>������ 2 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/dlls/kernel32/time.c b/dlls/kernel32/time.c
> index b7a7918..e1fd107 100644
> --- a/dlls/kernel32/time.c
> +++ b/dlls/kernel32/time.c
> @@ -860,6 +860,8 @@ int WINAPI GetCalendarInfoW(LCID Locale, CALID Calendar, CALTYPE CalType,
>������ ������ ������ ������FIXME("flag CAL_NOUSEROVERRIDE used, not fully implemented\n");
>������ ������ ������ if (CalType & CAL_USE_CP_ACP)
>������ ������ ������ ������FIXME("flag CAL_USE_CP_ACP used, not fully implemented\n");
> +������ ������ if (CalType & CAL_RETURN_GENITIVE_NAMES)
> +������ ������ ������ ������ FIXME("flag CAL_RETURN_GENITIVE_NAMES used, not fully implemented\n");

Hi, David.

LOCALE_RETURN_GENITIVE_NAMES itself is implemented, you should pass it
to GetLocaleInfo instead of stripping it from caltype.

P.S. anyone working on translations please take another look at
SMONTHNAME* constants for your language, to make sure genitive forms are
there, if applicable.

>
>������ ������ ������ if (CalType & CAL_RETURN_NUMBER) {
>������ ������ ������ ������ ������ if (!lpValue)
> @@ -878,7 +880,7 @@ int WINAPI GetCalendarInfoW(LCID Locale, CALID Calendar, CALTYPE CalType,
>
>������ ������ ������ /* 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,
> 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
>