oleaut32: VarParseNumFromStr() does not allow leading thousands separators.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
c50dff867d
commit
de70f7289e
|
@ -1606,7 +1606,7 @@ static void test_VarParseNumFromStrEn(void)
|
|||
|
||||
/* With flag, but leading thousands separators are not allowed */
|
||||
CONVERT(",1,000", NUMPRS_THOUSANDS);
|
||||
todo_wine EXPECTFAIL;
|
||||
EXPECTFAIL;
|
||||
|
||||
/* With flag, thousands separator not needed but still reported */
|
||||
CONVERT("1,", NUMPRS_THOUSANDS);
|
||||
|
@ -1983,7 +1983,7 @@ static void test_VarParseNumFromStrFr(void)
|
|||
|
||||
/* With flag, but leading thousands separators are not allowed */
|
||||
CONVERT(" 1 000", NUMPRS_THOUSANDS);
|
||||
todo_wine EXPECTFAIL;
|
||||
EXPECTFAIL;
|
||||
|
||||
/* With flag, thousands separator not needed but still reported */
|
||||
CONVERT("1 ", NUMPRS_THOUSANDS|NUMPRS_USE_ALL);
|
||||
|
|
|
@ -1652,6 +1652,12 @@ HRESULT WINAPI VarParseNumFromStr(const OLECHAR *lpszStr, LCID lcid, ULONG dwFla
|
|||
lpszStr++;
|
||||
} while (iswspace(*lpszStr));
|
||||
}
|
||||
else if (pNumprs->dwInFlags & NUMPRS_THOUSANDS &&
|
||||
((chars.cDigitSeparator && *lpszStr == chars.cDigitSeparator) ||
|
||||
(cDigitSeparator2 && *lpszStr == cDigitSeparator2)))
|
||||
{
|
||||
return DISP_E_TYPEMISMATCH; /* Not allowed before the first digit */
|
||||
}
|
||||
else if (pNumprs->dwInFlags & NUMPRS_LEADING_PLUS &&
|
||||
*lpszStr == chars.cPositiveSymbol &&
|
||||
!(pNumprs->dwOutFlags & NUMPRS_LEADING_PLUS))
|
||||
|
|
Loading…
Reference in New Issue