Module: wine Branch: master Commit: 9187951ac72ef7493dd90981da280d963bc26dbc URL: http://source.winehq.org/git/wine.git/?a=commit;h=9187951ac72ef7493dd90981da...
Author: Mike McCormack mike@codeweavers.com Date: Thu Oct 12 21:28:26 2006 +0900
msi: Handle the sign properly when converting integer data.
---
dlls/msi/table.c | 6 ++++++ dlls/msi/tests/db.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/msi/table.c b/dlls/msi/table.c index 1ef7d0e..61ff217 100644 --- a/dlls/msi/table.c +++ b/dlls/msi/table.c @@ -1762,7 +1762,13 @@ static UINT* msi_record_to_row( MSITABLE } } else + { data[i] = MSI_RecordGetInteger( rec, i+1 ); + if ((tv->columns[i].type&0xff) == 2) + data[i] += 0x8000; + else + data[i] += 0x80000000; + } } return data; } diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c index 5fc33eb..f3e15a8 100644 --- a/dlls/msi/tests/db.c +++ b/dlls/msi/tests/db.c @@ -1913,7 +1913,7 @@ static void test_try_transform(void) hrec = 0; query = "select `NOO`,`OOO` from `MOO` where `NOO` = 1 AND `OOO` = 'c'"; r = do_query(hdb, query, &hrec); - todo_wine ok(r == ERROR_SUCCESS, "select query failed\n"); + ok(r == ERROR_SUCCESS, "select query failed\n"); MsiCloseHandle(hrec);
/* check unchanged value */ @@ -1927,7 +1927,7 @@ static void test_try_transform(void) hrec = 0; query = "select * from `MOO` where `NOO` = 3"; r = do_query(hdb, query, &hrec); - todo_wine ok(r == ERROR_NO_MORE_ITEMS, "select query failed\n"); + ok(r == ERROR_NO_MORE_ITEMS, "select query failed\n"); if (hrec) MsiCloseHandle(hrec);
MsiCloseHandle( hdb );