[Bug 51450] New: oleaut32:varformat fails in Wine when the currency sign follows the amount

WineHQ Bugzilla wine-bugs at winehq.org
Sun Jul 11 14:26:23 CDT 2021


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 at winehq.org
          Reporter: fgouget at 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.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list