msi: Reset the column number for each new table in a transform.
This commit is contained in:
parent
1f32d1f3c2
commit
f2c207fa03
|
@ -1860,7 +1860,9 @@ static UINT msi_table_load_transform( MSIDATABASE *db, IStorage *stg,
|
||||||
UINT r, n, sz, i, mask;
|
UINT r, n, sz, i, mask;
|
||||||
MSIRECORD *rec = NULL;
|
MSIRECORD *rec = NULL;
|
||||||
UINT colcol = 0;
|
UINT colcol = 0;
|
||||||
|
WCHAR coltable[32];
|
||||||
|
|
||||||
|
coltable[0] = 0;
|
||||||
TRACE("%p %p %p %s\n", db, stg, st, debugstr_w(name) );
|
TRACE("%p %p %p %s\n", db, stg, st, debugstr_w(name) );
|
||||||
|
|
||||||
/* read the transform data */
|
/* read the transform data */
|
||||||
|
@ -1937,10 +1939,20 @@ static UINT msi_table_load_transform( MSIDATABASE *db, IStorage *stg,
|
||||||
*/
|
*/
|
||||||
if (!lstrcmpW(name, szColumns))
|
if (!lstrcmpW(name, szColumns))
|
||||||
{
|
{
|
||||||
if ( MSI_RecordIsNull( rec, 2 ) )
|
WCHAR table[32];
|
||||||
|
DWORD sz = 32;
|
||||||
|
|
||||||
|
MSI_RecordGetStringW( rec, 1, table, &sz );
|
||||||
|
|
||||||
|
/* reset the column number on a new table */
|
||||||
|
if ( lstrcmpW(coltable, table) )
|
||||||
|
{
|
||||||
|
colcol = 0;
|
||||||
|
lstrcpyW( coltable, table );
|
||||||
|
}
|
||||||
|
|
||||||
|
/* fix nul column numbers */
|
||||||
MSI_RecordSetInteger( rec, 2, ++colcol );
|
MSI_RecordSetInteger( rec, 2, ++colcol );
|
||||||
else
|
|
||||||
ERR("_Columns has non-null data...\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
r = TABLE_insert_row( &tv->view, rec );
|
r = TABLE_insert_row( &tv->view, rec );
|
||||||
|
|
Loading…
Reference in New Issue