Mike McCormack wrote:
EA Durbin wrote:
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.
Unfortunately your lack of understanding of C lets you down here.
Is there any guarantee that the value will be a 2-byte integer rather than a 4-byte integer? In that case, it will make a difference.
BTW, I suspect that the America's Army problem is caused by the installer using a 4-byte integer in place of the usual 2-byte integer, which is parsed slightly differently. EA Durbin, if you want to test this theory you can instrument INT_evaluate in dlls/msi/where.c and dump the two values.