Commit 9187951a authored by Mike McCormack's avatar Mike McCormack Committed by Alexandre Julliard

msi: Handle the sign properly when converting integer data.

parent 1b256f2c
...@@ -1762,7 +1762,13 @@ static UINT* msi_record_to_row( MSITABLEVIEW *tv, MSIRECORD *rec ) ...@@ -1762,7 +1762,13 @@ static UINT* msi_record_to_row( MSITABLEVIEW *tv, MSIRECORD *rec )
} }
} }
else else
{
data[i] = MSI_RecordGetInteger( rec, i+1 ); data[i] = MSI_RecordGetInteger( rec, i+1 );
if ((tv->columns[i].type&0xff) == 2)
data[i] += 0x8000;
else
data[i] += 0x80000000;
}
} }
return data; return data;
} }
......
...@@ -1913,7 +1913,7 @@ static void test_try_transform(void) ...@@ -1913,7 +1913,7 @@ static void test_try_transform(void)
hrec = 0; hrec = 0;
query = "select `NOO`,`OOO` from `MOO` where `NOO` = 1 AND `OOO` = 'c'"; query = "select `NOO`,`OOO` from `MOO` where `NOO` = 1 AND `OOO` = 'c'";
r = do_query(hdb, query, &hrec); 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); MsiCloseHandle(hrec);
/* check unchanged value */ /* check unchanged value */
...@@ -1927,7 +1927,7 @@ static void test_try_transform(void) ...@@ -1927,7 +1927,7 @@ static void test_try_transform(void)
hrec = 0; hrec = 0;
query = "select * from `MOO` where `NOO` = 3"; query = "select * from `MOO` where `NOO` = 3";
r = do_query(hdb, query, &hrec); 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); if (hrec) MsiCloseHandle(hrec);
MsiCloseHandle( hdb ); MsiCloseHandle( hdb );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment