msi: Set field zero to the name of the table containing the primary keys.

This commit is contained in:
James Hawkins 2009-02-25 19:44:09 -08:00 committed by Alexandre Julliard
parent 7d7f14c101
commit e872681af7
2 changed files with 10 additions and 10 deletions

View File

@ -842,7 +842,7 @@ struct msi_primary_key_record_info
static UINT msi_primary_key_iterator( MSIRECORD *rec, LPVOID param )
{
struct msi_primary_key_record_info *info = param;
LPCWSTR name;
LPCWSTR name, table;
DWORD type;
type = MSI_RecordGetInteger( rec, 4 );
@ -851,6 +851,12 @@ static UINT msi_primary_key_iterator( MSIRECORD *rec, LPVOID param )
info->n++;
if( info->rec )
{
if ( info->n == 1 )
{
table = MSI_RecordGetString( rec, 1 );
MSI_RecordSetStringW( info->rec, 0, table);
}
name = MSI_RecordGetString( rec, 3 );
MSI_RecordSetStringW( info->rec, info->n, name );
}

View File

@ -552,17 +552,11 @@ static void test_fieldzero(void)
lstrcpyA(buf, "apple");
r = MsiRecordGetString(rec, 0, buf, &sz);
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
todo_wine
{
ok(!lstrcmpA(buf, "drone"), "Expected \"drone\", got \"%s\"\n", buf);
ok(sz == 5, "Expectd 5, got %d\n", sz);
}
r = MsiRecordIsNull(rec, 0);
todo_wine
{
ok(r == FALSE, "Expected FALSE, got %d\n", r);
}
MsiCloseHandle(rec);