https://bugs.winehq.org/show_bug.cgi?id=51450
Bug ID: 51450 Summary: oleaut32:varformat fails in Wine when the currency sign follows the amount Product: Wine Version: 6.10 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: oleaut32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
oleaut32:varformat fails in Wine when the currency sign follows the amount. For instance in French:
https://test.winehq.org/data/patterns.html#oleaut32:varformat
varformat.c:641: str=L"0,000 \20ac" varformat.c:643: Test failed: Unexpected hr 0x80020005.
There are two reasons for this failure: * VarParseNumFromStr() expects the currency sign to precede the monetary amount. This is not how it works in most European languages such as French, German, Swiss, etc. * VarParseNumFromStr() normally does not allow spaces between the monetary amount and the currency sign. However in French the thousands separator is a non-breaking space and that's a special case that also allows regular spaces. So, because in this case VarParseNumFromStr() is called with NUMPRS_THOUSANDS, it should ignore that space and successfully parse the trailing currency sign.
I will send a patch shortly.