msi: Remove the string index parameter from msi_addstringW.
This commit is contained in:
parent
fc15e565d3
commit
8f53405544
|
@ -660,8 +660,7 @@ enum StringPersistence
|
||||||
StringNonPersistent = 1
|
StringNonPersistent = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
extern BOOL msi_addstringW( string_table *st, UINT string_no, const WCHAR *data, int len, USHORT refcount, enum StringPersistence persistence );
|
extern BOOL msi_addstringW( string_table *st, const WCHAR *data, int len, USHORT refcount, enum StringPersistence persistence );
|
||||||
|
|
||||||
extern UINT msi_string2idW( const string_table *st, LPCWSTR buffer, UINT *id );
|
extern UINT msi_string2idW( const string_table *st, LPCWSTR buffer, UINT *id );
|
||||||
extern VOID msi_destroy_stringtable( string_table *st );
|
extern VOID msi_destroy_stringtable( string_table *st );
|
||||||
extern const WCHAR *msi_string_lookup_id( const string_table *st, UINT id );
|
extern const WCHAR *msi_string_lookup_id( const string_table *st, UINT id );
|
||||||
|
|
|
@ -77,7 +77,7 @@ static STORAGE *create_storage(MSISTORAGESVIEW *sv, LPCWSTR name, IStorage *stg)
|
||||||
if (!storage)
|
if (!storage)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
storage->str_index = msi_addstringW(sv->db->strings, 0, name, -1, 1, StringNonPersistent);
|
storage->str_index = msi_addstringW(sv->db->strings, name, -1, 1, StringNonPersistent);
|
||||||
storage->storage = stg;
|
storage->storage = stg;
|
||||||
|
|
||||||
if (storage->storage)
|
if (storage->storage)
|
||||||
|
|
|
@ -84,7 +84,7 @@ static STREAM *create_stream(MSISTREAMSVIEW *sv, LPCWSTR name, BOOL encoded, ISt
|
||||||
name = decoded;
|
name = decoded;
|
||||||
}
|
}
|
||||||
|
|
||||||
stream->str_index = msi_addstringW(sv->db->strings, 0, name, -1, 1, StringNonPersistent);
|
stream->str_index = msi_addstringW(sv->db->strings, name, -1, 1, StringNonPersistent);
|
||||||
stream->stream = stm;
|
stream->stream = stm;
|
||||||
return stream;
|
return stream;
|
||||||
}
|
}
|
||||||
|
|
|
@ -288,42 +288,28 @@ static int msi_addstring( string_table *st, UINT n, const CHAR *data, int len, U
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
int msi_addstringW( string_table *st, UINT n, const WCHAR *data, int len, USHORT refcount, enum StringPersistence persistence )
|
int msi_addstringW( string_table *st, const WCHAR *data, int len, USHORT refcount, enum StringPersistence persistence )
|
||||||
{
|
{
|
||||||
|
UINT n;
|
||||||
LPWSTR str;
|
LPWSTR str;
|
||||||
|
|
||||||
/* TRACE("[%2d] = %s\n", string_no, debugstr_an(data,len) ); */
|
|
||||||
|
|
||||||
if( !data )
|
if( !data )
|
||||||
return 0;
|
return 0;
|
||||||
if( !data[0] )
|
if( !data[0] )
|
||||||
return 0;
|
return 0;
|
||||||
if( n > 0 )
|
|
||||||
|
if( msi_string2idW( st, data, &n ) == ERROR_SUCCESS )
|
||||||
{
|
{
|
||||||
if( st->strings[n].persistent_refcount ||
|
if (persistence == StringPersistent)
|
||||||
st->strings[n].nonpersistent_refcount )
|
st->strings[n].persistent_refcount += refcount;
|
||||||
return -1;
|
else
|
||||||
}
|
st->strings[n].nonpersistent_refcount += refcount;
|
||||||
else
|
return n;
|
||||||
{
|
|
||||||
if( ERROR_SUCCESS == msi_string2idW( st, data, &n ) )
|
|
||||||
{
|
|
||||||
if (persistence == StringPersistent)
|
|
||||||
st->strings[n].persistent_refcount += refcount;
|
|
||||||
else
|
|
||||||
st->strings[n].nonpersistent_refcount += refcount;
|
|
||||||
return n;
|
|
||||||
}
|
|
||||||
n = st_find_free_entry( st );
|
|
||||||
if( n == -1 )
|
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( n < 1 )
|
n = st_find_free_entry( st );
|
||||||
{
|
if( n == -1 )
|
||||||
ERR("invalid index adding %s (%d)\n", debugstr_w( data ), n );
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
/* allocate a new string */
|
/* allocate a new string */
|
||||||
if(len<0)
|
if(len<0)
|
||||||
|
|
|
@ -1383,7 +1383,7 @@ static UINT TABLE_set_row( struct tagMSIVIEW *view, UINT row, MSIRECORD *rec, UI
|
||||||
if ( r != ERROR_SUCCESS )
|
if ( r != ERROR_SUCCESS )
|
||||||
{
|
{
|
||||||
LPCWSTR sval = MSI_RecordGetString( rec, i + 1 );
|
LPCWSTR sval = MSI_RecordGetString( rec, i + 1 );
|
||||||
val = msi_addstringW( tv->db->strings, 0, sval, -1, 1,
|
val = msi_addstringW( tv->db->strings, sval, -1, 1,
|
||||||
persistent ? StringPersistent : StringNonPersistent );
|
persistent ? StringPersistent : StringNonPersistent );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue