From a2791a0919d27bf49f783595f78eff06e8223468 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 8 Jun 2010 15:34:59 +0200 Subject: [PATCH] oleaut32: Fix handling of 'c' format for non-date variants in VarTokenizeFormatString. --- dlls/oleaut32/tests/varformat.c | 1 + dlls/oleaut32/varformat.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/oleaut32/tests/varformat.c b/dlls/oleaut32/tests/varformat.c index fd598cbef94..2d4ef62b46a 100644 --- a/dlls/oleaut32/tests/varformat.c +++ b/dlls/oleaut32/tests/varformat.c @@ -328,6 +328,7 @@ static void test_VarFormat(void) VARFMT(VT_I4,V_I4,1,"000###",S_OK,"000001"); VARFMT(VT_I4,V_I4,1,"#00##00#0",S_OK,"00000001"); VARFMT(VT_I4,V_I4,1,"1#####0000",S_OK,"10001"); + VARFMT(VT_I4,V_I4,1,"##abcdefghijklmnopqrstuvwxyz",S_OK,"1abcdefghijklmnopqrstuvwxyz"); VARFMT(VT_I4,V_I4,100000,"#,###,###,###",S_OK,"100,000"); VARFMT(VT_I4,V_I4,1,"0,000,000,000",S_OK,"0,000,000,001"); VARFMT(VT_I4,V_I4,123456789,"#,#.#",S_OK,"123,456,789."); diff --git a/dlls/oleaut32/varformat.c b/dlls/oleaut32/varformat.c index 10f50380656..f2976416655 100644 --- a/dlls/oleaut32/varformat.c +++ b/dlls/oleaut32/varformat.c @@ -852,7 +852,7 @@ HRESULT WINAPI VarTokenizeFormatString(LPOLESTR lpszFormat, LPBYTE rgbTok, *pOut++ = FMT_DATE_AMPM_UPPER; TRACE("AM/PM\n"); } - else if (*pFormat == 'c' || *pFormat == 'C') + else if ((*pFormat == 'c' || *pFormat == 'C') && COULD_BE(FMT_TYPE_DATE)) { /* Date formats: General date format * Other formats: Literal -- 2.11.4.GIT