Skip to content

WinDef.DWORD getLow() & getHigh() using incorrect bit mask #624

@imgx64

Description

@imgx64

#128 was fixed by 245eb88 in 2012, but then 4218a07 reverted it with no explanation given. So I'm reopening it again.

Old bug description:

These two methods are using 0xFF as the bit mask when they should be using 0xFFFF. Each method returns a WORD, which is a 16-bit value. By using 0xFF only the lower byte is preserved.

New Code:

public WORD getLow() {
    return new WORD(longValue() & 0xFFFF);
}

public WORD getHigh() {
    return new WORD((longValue() >> 16) & 0xFFFF);
}

Old Code:

public WORD getLow() {
    return new WORD(longValue() & 0xFF);
}

public WORD getHigh() {
    return new WORD((longValue() >> 16) & 0xFF);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions