From 83e7a1214a009b133a031898a884ee72f74880ab Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Thu, 19 Nov 2009 09:30:04 +0100 Subject: [PATCH] msi: Sign extend the value when converting from a small integer. --- dlls/msi/table.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/msi/table.c b/dlls/msi/table.c index 33d1fce64c6..fa32a04a21e 100644 --- a/dlls/msi/table.c +++ b/dlls/msi/table.c @@ -1201,7 +1201,7 @@ static UINT msi_stream_name( const MSITABLEVIEW *tv, UINT row, LPWSTR *pstname ) switch( n ) { case 2: - sprintfW( number, fmt, ival^0x8000 ); + sprintfW( number, fmt, ival-0x8000 ); break; case 4: sprintfW( number, fmt, ival^0x80000000 ); @@ -2573,7 +2573,7 @@ static MSIRECORD *msi_get_transform_record( const MSITABLEVIEW *tv, const string case 2: val = read_raw_int(rawdata, ofs, n); if (val) - MSI_RecordSetInteger( rec, i+1, val^0x8000 ); + MSI_RecordSetInteger( rec, i+1, val-0x8000 ); TRACE(" field %d [0x%04x]\n", i+1, val ); break; case 4: -- 2.11.4.GIT