msi: Get rid of MSI_RecordSetStringA.
This commit is contained in:
parent
9aa23c6c77
commit
8d28cc0ac7
|
@ -574,45 +574,27 @@ UINT WINAPI MsiRecordDataSize(MSIHANDLE handle, UINT iField)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static UINT MSI_RecordSetStringA( MSIRECORD *rec, UINT iField, LPCSTR szValue )
|
|
||||||
{
|
|
||||||
LPWSTR str;
|
|
||||||
|
|
||||||
TRACE("%p %d %s\n", rec, iField, debugstr_a(szValue));
|
|
||||||
|
|
||||||
if( iField > rec->count )
|
|
||||||
return ERROR_INVALID_FIELD;
|
|
||||||
|
|
||||||
MSI_FreeField( &rec->fields[iField] );
|
|
||||||
if( szValue && szValue[0] )
|
|
||||||
{
|
|
||||||
str = strdupAtoW( szValue );
|
|
||||||
rec->fields[iField].type = MSIFIELD_WSTR;
|
|
||||||
rec->fields[iField].u.szwVal = str;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
rec->fields[iField].type = MSIFIELD_NULL;
|
|
||||||
rec->fields[iField].u.szwVal = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
UINT WINAPI MsiRecordSetStringA( MSIHANDLE handle, UINT iField, LPCSTR szValue )
|
UINT WINAPI MsiRecordSetStringA( MSIHANDLE handle, UINT iField, LPCSTR szValue )
|
||||||
{
|
{
|
||||||
|
WCHAR *valueW = NULL;
|
||||||
MSIRECORD *rec;
|
MSIRECORD *rec;
|
||||||
UINT ret;
|
UINT ret;
|
||||||
|
|
||||||
TRACE("%d %d %s\n", handle, iField, debugstr_a(szValue));
|
TRACE("%d %d %s\n", handle, iField, debugstr_a(szValue));
|
||||||
|
|
||||||
|
if (szValue && !(valueW = strdupAtoW( szValue ))) return ERROR_OUTOFMEMORY;
|
||||||
|
|
||||||
rec = msihandle2msiinfo( handle, MSIHANDLETYPE_RECORD );
|
rec = msihandle2msiinfo( handle, MSIHANDLETYPE_RECORD );
|
||||||
if( !rec )
|
if( !rec )
|
||||||
|
{
|
||||||
|
msi_free( valueW );
|
||||||
return ERROR_INVALID_HANDLE;
|
return ERROR_INVALID_HANDLE;
|
||||||
|
}
|
||||||
msiobj_lock( &rec->hdr );
|
msiobj_lock( &rec->hdr );
|
||||||
ret = MSI_RecordSetStringA( rec, iField, szValue );
|
ret = MSI_RecordSetStringW( rec, iField, valueW );
|
||||||
msiobj_unlock( &rec->hdr );
|
msiobj_unlock( &rec->hdr );
|
||||||
msiobj_release( &rec->hdr );
|
msiobj_release( &rec->hdr );
|
||||||
|
msi_free( valueW );
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue