-
46b4efbb
by Francis De Brabandere at 2026-05-05T13:16:14-04:00
oleaut32: Fix Null handling in VarAnd.
Handle both operand orderings symmetrically and always write the
result payload. Convert VARAND_TODOCOMM back to VARAND for the
cases the fix makes commutative, and drop the now-unused macro.
-
199ef80e
by Francis De Brabandere at 2026-05-05T13:16:16-04:00
oleaut32: Fix VT_CY Null handling in VarImp.
VT_CY stores values scaled by 10000 in .int64, so the all-ones-Imp-
Null check must compare to -10000 (not -1) for CCur(-1). Add right-
Null conformance rows for I2/I4/R8/UI1 and a manual CY -1 case.
-
863ffbe8
by Francis De Brabandere at 2026-05-05T13:16:17-04:00
oleaut32: Fix VT_DATE Null handling in VarImp.
VarImp's right-Null switch was missing a VT_DATE case, so CDate(-1)
Imp Null fell through to the main computation and returned VT_I4 0
instead of Null. Add the all-ones check using V_DATE.
-
089b051a
by Francis De Brabandere at 2026-05-05T13:16:18-04:00
vbscript: Match native UI1 Imp Null behavior.
Native VarImp returns VT_NULL for UI1 0xFF Imp Null via the three-
valued all-ones rule, but native VBScript keeps UI1 width and returns
the bitwise ~left. Handle the narrow case directly in interp_imp.
-
dffb2711
by Francis De Brabandere at 2026-05-05T13:16:20-04:00
vbscript/tests: Add Null handling smoke tests for logical operators.
Verify that VBScript's And/Or/Xor/Eqv/Imp/Not operators propagate
the oleaut32 VarAnd/VarOr/... results correctly through the
interpreter for a few representative Null combinations.