Re: [PATCH] ole32: ignore HighPart in the Seek method HGLOBAL streams. [try 2]
Reece Dunn <msclrhd(a)googlemail.com> writes:
NOTE: A check for integer overflow would be `position.low + move.low < position.low`, but there are no current tests to say if integer overflow is handled (and how it is handled) here in the tests. Therefore, the simplest implementation is just to remove the previous check.
It may be the simplest, but the right way is to add such a test and figure out the appropriate behavior. -- Alexandre Julliard julliard(a)winehq.org
On 24 February 2010 11:06, Alexandre Julliard <julliard(a)winehq.org> wrote:
Reece Dunn <msclrhd(a)googlemail.com> writes:
NOTE: A check for integer overflow would be `position.low + move.low < position.low`, but there are no current tests to say if integer overflow is handled (and how it is handled) here in the tests. Therefore, the simplest implementation is just to remove the previous check.
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? - Reece
Reece Dunn <msclrhd(a)googlemail.com> writes:
On 24 February 2010 11:06, Alexandre Julliard <julliard(a)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. -- Alexandre Julliard julliard(a)winehq.org
On 24 February 2010 11:41, Alexandre Julliard <julliard(a)winehq.org> wrote:
Reece Dunn <msclrhd(a)googlemail.com> writes:
On 24 February 2010 11:06, Alexandre Julliard <julliard(a)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. Thanks, - Reece
participants (2)
-
Alexandre Julliard -
Reece Dunn