Commit a2791a09 authored by Alexandre Julliard's avatar Alexandre Julliard

oleaut32: Fix handling of 'c' format for non-date variants in VarTokenizeFormatString.

parent d77c7d10
...@@ -328,6 +328,7 @@ static void test_VarFormat(void) ...@@ -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,"000###",S_OK,"000001");
VARFMT(VT_I4,V_I4,1,"#00##00#0",S_OK,"00000001"); 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,"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,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,1,"0,000,000,000",S_OK,"0,000,000,001");
VARFMT(VT_I4,V_I4,123456789,"#,#.#",S_OK,"123,456,789."); VARFMT(VT_I4,V_I4,123456789,"#,#.#",S_OK,"123,456,789.");
......
...@@ -852,7 +852,7 @@ HRESULT WINAPI VarTokenizeFormatString(LPOLESTR lpszFormat, LPBYTE rgbTok, ...@@ -852,7 +852,7 @@ HRESULT WINAPI VarTokenizeFormatString(LPOLESTR lpszFormat, LPBYTE rgbTok,
*pOut++ = FMT_DATE_AMPM_UPPER; *pOut++ = FMT_DATE_AMPM_UPPER;
TRACE("AM/PM\n"); 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 /* Date formats: General date format
* Other formats: Literal * Other formats: Literal
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment