[Bug 51453] New: oleaut32:vartype fails on Windows 10 1909+

WineHQ Bugzilla wine-bugs at winehq.org
Mon Jul 12 05:02:55 CDT 2021


https://bugs.winehq.org/show_bug.cgi?id=51453

            Bug ID: 51453
           Summary: oleaut32:vartype fails on Windows 10 1909+
           Product: Wine
           Version: 6.10
          Hardware: x86-64
                OS: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: oleaut32
          Assignee: wine-bugs at winehq.org
          Reporter: fgouget at codeweavers.com

oleaut32:vartype has the same set of failures on all the Windows 10 1909+
TestBot VMs:

https://test.winehq.org/data/patterns.html#oleaut32:vartype

vartype.c:3047: Test failed: expected            10990, got            47515;
hres=0x00000000
vartype.c:3048: Test failed: expected            10990, got            47515;
hres=0x00000000
vartype.c:3055: Test failed: expected            12785, got            49310;
hres=0x00000000
vartype.c:3056: Test failed: expected            12785, got            49310;
hres=0x00000000
vartype.c:3057: Test failed: expected            12785, got            49310;
hres=0x00000000
vartype.c:3058: Test failed: expected            12785, got            49310;
hres=0x00000000
vartype.c:3059: Test failed: expected            12785, got            49310;
hres=0x00000000
vartype.c:3060: Test failed: expected            12785, got            49310;
hres=0x00000000
vartype.c:3070: Test failed: expected            11722, got            48247;
hres=0x00000000
vartype.c:3071: Test failed: expected            11722, got            48247;
hres=0x00000000
vartype.c:3074: Test failed: expected            10960, got            47485;
hres=0x00000000
vartype.c:3075: Test failed: expected            11325, got            47850;
hres=0x00000000

It turns out that this happens because the Y2K cutoff date has changed in
Windows 10 1903:
* Earlier Windows versions used 29, that is two digit years 0-29 mapped to
2000-2029 while years 30-99 mapped to 1930-1999.
* But Windows 10 1903+ use 49 by default so that two digit years 0-49 map to
2000-2049 while years 50-99 map to 1950-1999.

oleaut32:vartype expects the old 29 cutoff when it tests how VarDateFromStr()
parses dates such as "2 30" which is what causes the failures.

Wine's VarDateFromStr() implementation should also be updated to match the
current Windows versions.

-- 
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