[PATCH] ole32: ignore HighPart in the Seek method HGLOBAL streams. [try 2]

Reece Dunn msclrhd at googlemail.com
Wed Feb 24 05:50:59 CST 2010

On 24 February 2010 11:41, Alexandre Julliard <julliard at winehq.org> wrote:
> Reece Dunn <msclrhd at googlemail.com> writes:
>> On 24 February 2010 11:06, Alexandre Julliard <julliard at winehq.org> wrote:
>>> It may be the simplest, but the right way is to add such a test and
>>> figure out the appropriate behavior.
>> Will do -- that was next on my things to do.
>> Do I need to do that first before this change, or after it?
> Before, since otherwise you are removing code that may still be needed.

I have run some tests on XP and Win7:

    Seek 0xFFFFFFFF: hr=80030019, High=00000000, Low=00000000
    Seek 0x80000000: hr=80030019, High=00000000, Low=00000000
    Seek 0x7FFFFFFF: hr=00000000, High=00000000, Low=7fffffff
    Seek 0x00000009: hr=00000000, High=00000000, Low=80000008
    Seek 0x7FFFFFFF: hr=00000000, High=00000000, Low=00000007

So it looks like Windows:
  1/  does not accept a LowPart that is greater than 0x7FFFFFFF;
  2/  does not check for integer overflow.

I will clean these up and write them as proper tests for
ole32:hglobalstream and then fix the todo blocks to implement the
correct behaviour later on today.

- Reece

More information about the wine-devel mailing list