diff --git a/dlls/oleaut32/varformat.c b/dlls/oleaut32/varformat.c index 351529c596e..e02ad39b9fc 100644 --- a/dlls/oleaut32/varformat.c +++ b/dlls/oleaut32/varformat.c @@ -1908,7 +1908,7 @@ static HRESULT VARIANT_FormatDate(LPVARIANT pVarIn, LPOLESTR lpszFormat, WCHAR fmt_buff[80]; if (!GetLocaleInfoW(lcid, dwFmt, fmt_buff, sizeof(fmt_buff)/sizeof(WCHAR)) || - !GetDateFormatW(lcid, 0, &udate.st, fmt_buff, pBuff, + !get_date_format(lcid, 0, &udate.st, fmt_buff, pBuff, sizeof(buff)/sizeof(WCHAR)-(pBuff-buff))) { hRes = E_INVALIDARG; diff --git a/dlls/oleaut32/variant.h b/dlls/oleaut32/variant.h index b6af5473ac7..765c0c49a72 100644 --- a/dlls/oleaut32/variant.h +++ b/dlls/oleaut32/variant.h @@ -127,3 +127,5 @@ typedef struct tagVARIANT_NUMBER_CHARS BOOL VARIANT_GetLocalisedText(LANGID, DWORD, WCHAR *) DECLSPEC_HIDDEN; HRESULT VARIANT_ClearInd(VARIANTARG *) DECLSPEC_HIDDEN; +BOOL get_date_format(LCID, DWORD, const SYSTEMTIME *, + const WCHAR *, WCHAR *, int) DECLSPEC_HIDDEN; diff --git a/dlls/oleaut32/vartype.c b/dlls/oleaut32/vartype.c index 28795a7b88b..74f66de472f 100644 --- a/dlls/oleaut32/vartype.c +++ b/dlls/oleaut32/vartype.c @@ -6596,7 +6596,7 @@ static inline int output_int_len(int o, int min_len, WCHAR *date, int date_len) } /* format date string, similar to GetDateFormatW function but works on bigger range of dates */ -static BOOL get_date_format(LCID lcid, DWORD flags, const SYSTEMTIME *st, +BOOL get_date_format(LCID lcid, DWORD flags, const SYSTEMTIME *st, const WCHAR *fmt, WCHAR *date, int date_len) { static const LCTYPE dayname[] = {