A dead condition in dlls/oleaut32/variant.c
30 Nov
2017
30 Nov
'17
9:43 a.m.
dlls/oleaut32/variant.c has the following code else if ((dwVtBits & REAL_VTBITS) == VTBIT_DECIMAL) where REAL_VTBITS is defined as VTBIT_R4|VTBIT_R8|VTBIT_CY with VTBIT_R4 := 1 << VT_R4 and VT_R4 := 4 in wtypes.h, VTBIT_R8 := 1 << VT_R8 and VT_R8 := 5, VTBIT_CY := 1 << VT_CY and VT_CY := 6. VTBIT_DECIMAL, on the other hand is 1 << VT_DECIMAL with VT_DECIMAL = 14. Now perhaps I am missing something quite obvious, but isn't that condition always false since REAL_VTBITS are disjoint from VTBIT_DECIMAL and we are first masking bits 5, 6, and 7 and then comparing with bit 15? (If you fix this, you may want to give credit to GCC 8 for pointing me towards that code.) Gerald
2935
Age (days ago)
2935
Last active (days ago)
0 comments
1 participants
participants (1)
-
Gerald Pfeifer