gdi32: Simplify bitwise and and xor with 0 (PVS-Studio)

Huw Davies huw at codeweavers.com
Wed Jul 29 07:15:38 CDT 2015


On 29 Jul 2015, at 12:54, Michael Stefaniuc wrote:
> On 07/29/2015 01:39 PM, Huw Davies wrote:
>> On 29 Jul 2015, at 12:32, Michael Stefaniuc wrote:
>>> 
>>> @@ -5655,8 +5655,8 @@ static void create_dither_masks_1(const dib_info *dib, int rop2, COLORREF color,
>>>            }
>>>            else
>>>            {
>>> -                rop_mask.and = (0x00 & codes.a1) ^ codes.a2;
>>> -                rop_mask.xor = (0x00 & codes.x1) ^ codes.x2;
>>> +                rop_mask.and = codes.a2;
>>> +                rop_mask.xor = codes.x2;
>>>            }
>>>            *and_bits |= (rop_mask.and & pixel_masks_1[x]);
>>>            *xor_bits |= (rop_mask.xor & pixel_masks_1[x]);
>> 
>> 
>> It's clearer as it was, especially given the lines just above this hunk.
> Not to me. Why do all that obfuscation if all you wanted to say is that
> the codes.{a,x}1 stuff doesn't matters?


The codes are normally used as pairs together. This just happens to be
a special case where of course you can simplify the logic, but then you're
left wondering what happened to a1/x1.

Huw.




More information about the wine-devel mailing list