msi: Fix some copy/paste bugs in the implementation of condition operators.

EA Durbin ead1234 at
Mon Jun 5 11:05:39 CDT 2006

It doesn't use %d currently. It uses %i. And its not to print. It uses this 
value in the SQL statement. The LastSequence value of the Media table is 
NEVER negative as i pointed out in the MSDN link. It must always be zero or 
larger and this is handled by passing %u.

The SELECT * FROM `Media` WHERE `LastSequence` >= %i, should be The SELECT * 
FROM `Media` WHERE `LastSequence` >= %u. In ready_media_for_files.

>From: Mike McCormack <mike at>
>To: EA Durbin <ead1234 at>
>CC: dank at,  wine-devel at,  hans at
>Subject: Re: msi: Fix some copy/paste bugs in the implementation of 
>condition operators.
>Date: Tue, 06 Jun 2006 00:38:16 +0900
>EA Durbin wrote:
>>I did in fact write a test, which does prove this. Hans has a copy of it, 
>>and i think i sent it to wine-devel too.
>I haven't seen any patch for the Wine regression test suite as yet, and 
>that is what I have been asking you to write.
>>As for files.c, the query in ready_media_for_file() should be passing an 
>>unsinged integer as LastSequence must be greater than zero.
>You patch is wrong because the value you are printing is an INT, so using 
>%d is correct, and using %u will print the wrong thing when the INT is less 
>than zero.

More information about the wine-devel mailing list