Commit d5cf8331 authored by Walt Ogburn's avatar Walt Ogburn Committed by Alexandre Julliard

Allow exponents of zero (like "1.000E0") to parse

correctly. Previously, they caused DISP_E_TYPEMISMATCH.
parent 1da3b410
...@@ -1668,14 +1668,14 @@ HRESULT WINAPI VarParseNumFromStr(OLECHAR *lpszStr, LCID lcid, ULONG dwFlags, ...@@ -1668,14 +1668,14 @@ HRESULT WINAPI VarParseNumFromStr(OLECHAR *lpszStr, LCID lcid, ULONG dwFlags,
int exponentSize = 0; int exponentSize = 0;
if (dwState & B_EXPONENT_START) if (dwState & B_EXPONENT_START)
{ {
if (!isdigitW(*lpszStr))
break; /* No exponent digits - invalid */
while (*lpszStr == '0') while (*lpszStr == '0')
{ {
/* Skip leading zero's in the exponent */ /* Skip leading zero's in the exponent */
cchUsed++; cchUsed++;
lpszStr++; lpszStr++;
} }
if (!isdigitW(*lpszStr))
break; /* No exponent digits - invalid */
} }
while (isdigitW(*lpszStr)) while (isdigitW(*lpszStr))
......
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