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 <[EMAIL PROTECTED]>
To: EA Durbin <[EMAIL PROTECTED]>
CC: [EMAIL PROTECTED], wine-devel@winehq.org, [EMAIL PROTECTED]
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.
Mike