msi: Handle the sign properly when converting integer data.
This commit is contained in:
parent
1b256f2c6e
commit
9187951ac7
|
@ -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)
|
||||||
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)
|
||||||
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 );
|
||||||
|
|
Loading…
Reference in New Issue