oleaut32: Fix double negative sign regression in VarFormat.
This commit is contained in:
parent
8c20124fc4
commit
72faaf1273
|
@ -328,6 +328,8 @@ static void test_VarFormat(void)
|
||||||
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.");
|
||||||
VARFMT(VT_I4,V_I4,123456789,"###, ###, ###",S_OK,"123, 456, 789");
|
VARFMT(VT_I4,V_I4,123456789,"###, ###, ###",S_OK,"123, 456, 789");
|
||||||
|
VARFMT(VT_I4,V_I4,1,"#;-#",S_OK,"1");
|
||||||
|
VARFMT(VT_I4,V_I4,-1,"#;-#",S_OK,"-1");
|
||||||
VARFMT(VT_R8,V_R8,1.23456789,"0#.0#0#0#0#0",S_OK,"01.234567890");
|
VARFMT(VT_R8,V_R8,1.23456789,"0#.0#0#0#0#0",S_OK,"01.234567890");
|
||||||
VARFMT(VT_R8,V_R8,1.2,"0#.0#0#0#0#0",S_OK,"01.200000000");
|
VARFMT(VT_R8,V_R8,1.2,"0#.0#0#0#0#0",S_OK,"01.200000000");
|
||||||
VARFMT(VT_R8,V_R8,9.87654321,"#0.#0#0#0#0#",S_OK,"9.87654321");
|
VARFMT(VT_R8,V_R8,9.87654321,"#0.#0#0#0#0#",S_OK,"9.87654321");
|
||||||
|
|
|
@ -1391,7 +1391,7 @@ VARIANT_FormatNumber_Bool:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FMT_NUM_DECIMAL:
|
case FMT_NUM_DECIMAL:
|
||||||
if ((np.dwOutFlags & NUMPRS_NEG) && !(dwState & NUM_WROTE_SIGN))
|
if ((np.dwOutFlags & NUMPRS_NEG) && !(dwState & NUM_WROTE_SIGN) && !header->starts[1])
|
||||||
{
|
{
|
||||||
/* last chance for a negative sign in the .# case */
|
/* last chance for a negative sign in the .# case */
|
||||||
TRACE("write negative sign\n");
|
TRACE("write negative sign\n");
|
||||||
|
@ -1476,7 +1476,7 @@ VARIANT_FormatNumber_Bool:
|
||||||
{
|
{
|
||||||
int count, count_max, position;
|
int count, count_max, position;
|
||||||
|
|
||||||
if ((np.dwOutFlags & NUMPRS_NEG) && !(dwState & NUM_WROTE_SIGN))
|
if ((np.dwOutFlags & NUMPRS_NEG) && !(dwState & NUM_WROTE_SIGN) && !header->starts[1])
|
||||||
{
|
{
|
||||||
TRACE("write negative sign\n");
|
TRACE("write negative sign\n");
|
||||||
localeValue = LOCALE_SNEGATIVESIGN;
|
localeValue = LOCALE_SNEGATIVESIGN;
|
||||||
|
|
Loading…
Reference in New Issue