Commit cc2cc146 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

msi: Use nameless unions.

parent f17483b9
MODULE = msi.dll
IMPORTLIB = msi
IMPORTS = uuid urlmon wininet comctl32 shell32 shlwapi cabinet oleaut32 ole32 version user32 gdi32 advapi32 rpcrt4 sxs imagehlp mspatcha odbccp32 wintrust crypt32
EXTRADEFS = -DWINE_NO_NAMELESS_EXTENSION
EXTRAIDLFLAGS = --prefix-server=s_
......
......@@ -91,7 +91,7 @@ static HRESULT (WINAPI *pPropVariantChangeType)
static void free_prop( PROPVARIANT *prop )
{
if (prop->vt == VT_LPSTR )
msi_free( prop->u.pszVal );
msi_free( prop->pszVal );
prop->vt = VT_EMPTY;
}
......@@ -213,14 +213,14 @@ static void read_properties_from_data( PROPVARIANT *prop, LPBYTE data, DWORD sz
LPSTR str = msi_alloc( propdata->u.str.len );
memcpy( str, propdata->u.str.str, propdata->u.str.len );
str[ propdata->u.str.len - 1 ] = 0;
property.u.pszVal = str;
property.pszVal = str;
}
else if( propdata->type == VT_FILETIME )
property.u.filetime = propdata->u.ft;
property.filetime = propdata->u.ft;
else if( propdata->type == VT_I2 )
property.u.iVal = propdata->u.i2;
property.iVal = propdata->u.i2;
else if( propdata->type == VT_I4 )
property.u.lVal = propdata->u.i4;
property.lVal = propdata->u.i4;
/* check the type is the same as we expect */
if( type != propdata->type )
......@@ -344,16 +344,16 @@ static UINT write_property_to_data( const PROPVARIANT *prop, LPBYTE data )
switch( prop->vt )
{
case VT_I2:
sz += write_dword( data, sz, prop->u.iVal );
sz += write_dword( data, sz, prop->iVal );
break;
case VT_I4:
sz += write_dword( data, sz, prop->u.lVal );
sz += write_dword( data, sz, prop->lVal );
break;
case VT_FILETIME:
sz += write_filetime( data, sz, &prop->u.filetime );
sz += write_filetime( data, sz, &prop->filetime );
break;
case VT_LPSTR:
sz += write_string( data, sz, prop->u.pszVal );
sz += write_string( data, sz, prop->pszVal );
break;
}
return sz;
......@@ -642,11 +642,11 @@ static UINT get_prop( MSISUMMARYINFO *si, UINT uiProperty, UINT *puiDataType, IN
{
case VT_I2:
if( piValue )
*piValue = prop->u.iVal;
*piValue = prop->iVal;
break;
case VT_I4:
if( piValue )
*piValue = prop->u.lVal;
*piValue = prop->lVal;
break;
case VT_LPSTR:
if( pcchValueBuf )
......@@ -655,14 +655,14 @@ static UINT get_prop( MSISUMMARYINFO *si, UINT uiProperty, UINT *puiDataType, IN
if( str->unicode )
{
len = MultiByteToWideChar( CP_ACP, 0, prop->u.pszVal, -1, NULL, 0 ) - 1;
MultiByteToWideChar( CP_ACP, 0, prop->u.pszVal, -1, str->str.w, *pcchValueBuf );
len = MultiByteToWideChar( CP_ACP, 0, prop->pszVal, -1, NULL, 0 ) - 1;
MultiByteToWideChar( CP_ACP, 0, prop->pszVal, -1, str->str.w, *pcchValueBuf );
}
else
{
len = lstrlenA( prop->u.pszVal );
len = lstrlenA( prop->pszVal );
if( str->str.a )
lstrcpynA(str->str.a, prop->u.pszVal, *pcchValueBuf );
lstrcpynA(str->str.a, prop->pszVal, *pcchValueBuf );
}
if (len >= *pcchValueBuf)
ret = ERROR_MORE_DATA;
......@@ -671,7 +671,7 @@ static UINT get_prop( MSISUMMARYINFO *si, UINT uiProperty, UINT *puiDataType, IN
break;
case VT_FILETIME:
if( pftValue )
*pftValue = prop->u.filetime;
*pftValue = prop->filetime;
break;
case VT_EMPTY:
break;
......@@ -691,7 +691,7 @@ LPWSTR msi_suminfo_dup_string( MSISUMMARYINFO *si, UINT uiProperty )
prop = &si->property[uiProperty];
if( prop->vt != VT_LPSTR )
return NULL;
return strdupAtoW( prop->u.pszVal );
return strdupAtoW( prop->pszVal );
}
INT msi_suminfo_get_int32( MSISUMMARYINFO *si, UINT uiProperty )
......@@ -703,7 +703,7 @@ INT msi_suminfo_get_int32( MSISUMMARYINFO *si, UINT uiProperty )
prop = &si->property[uiProperty];
if( prop->vt != VT_I4 )
return -1;
return prop->u.lVal;
return prop->lVal;
}
LPWSTR msi_get_suminfo_product( IStorage *stg )
......@@ -850,28 +850,28 @@ static UINT set_prop( MSISUMMARYINFO *si, UINT uiProperty, UINT type,
switch( type )
{
case VT_I4:
prop->u.lVal = iValue;
prop->lVal = iValue;
break;
case VT_I2:
prop->u.iVal = iValue;
prop->iVal = iValue;
break;
case VT_FILETIME:
prop->u.filetime = *pftValue;
prop->filetime = *pftValue;
break;
case VT_LPSTR:
if( str->unicode )
{
len = WideCharToMultiByte( CP_ACP, 0, str->str.w, -1,
NULL, 0, NULL, NULL );
prop->u.pszVal = msi_alloc( len );
prop->pszVal = msi_alloc( len );
WideCharToMultiByte( CP_ACP, 0, str->str.w, -1,
prop->u.pszVal, len, NULL, NULL );
prop->pszVal, len, NULL, NULL );
}
else
{
len = lstrlenA( str->str.a ) + 1;
prop->u.pszVal = msi_alloc( len );
lstrcpyA( prop->u.pszVal, str->str.a );
prop->pszVal = msi_alloc( len );
lstrcpyA( prop->pszVal, str->str.a );
}
break;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment