https://git.reactos.org/?p=reactos.git;a=commitdiff;h=4bf22783a80fe6236d0d6671e2be995e1b812503

commit 4bf22783a80fe6236d0d6671e2be995e1b812503
Author:     winesync <[email protected]>
AuthorDate: Sun Mar 13 21:43:46 2022 +0100
Commit:     Mark Jansen <[email protected]>
CommitDate: Sun Mar 20 19:28:38 2022 +0100

    [WINESYNC] msi: Use nameless unions.
    
    Signed-off-by: Jacek Caban <[email protected]>
    Signed-off-by: Hans Leidekker <[email protected]>
    Signed-off-by: Alexandre Julliard <[email protected]>
    
    wine commit id cc2cc1463a493651f765fe18852a16c01184ad92 by Jacek Caban 
<[email protected]>
---
 dll/win32/msi/CMakeLists.txt |  2 +-
 dll/win32/msi/suminfo.c      | 51 ++++++++++++++++++++++----------------------
 2 files changed, 26 insertions(+), 27 deletions(-)

diff --git a/dll/win32/msi/CMakeLists.txt b/dll/win32/msi/CMakeLists.txt
index 2acc74d7337..2927a5dd1bc 100644
--- a/dll/win32/msi/CMakeLists.txt
+++ b/dll/win32/msi/CMakeLists.txt
@@ -42,7 +42,6 @@ list(APPEND SOURCE
     storages.c
     streams.c
     string.c
-    suminfo.c
     table.c
     tokenize.c
     update.c
@@ -59,6 +58,7 @@ add_rpc_files(server winemsi.idl)
 set(IDL_FLAGS ${OLD_IDL_FLAGS})
 
 list(APPEND PCH_SKIP_SOURCE
+    suminfo.c   # The only file without NONAMELESSUNION
     ${BISON_cond_OUTPUTS}
     ${BISON_sql_OUTPUTS}
     ${CMAKE_CURRENT_BINARY_DIR}/msiserver_i.c
diff --git a/dll/win32/msi/suminfo.c b/dll/win32/msi/suminfo.c
index 663760e0a23..cd65d68f0eb 100644
--- a/dll/win32/msi/suminfo.c
+++ b/dll/win32/msi/suminfo.c
@@ -21,7 +21,6 @@
 #include <stdarg.h>
 
 #define COBJMACROS
-#define NONAMELESSUNION
 
 #include "stdio.h"
 #include "windef.h"
@@ -91,7 +90,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;
 }
 
@@ -227,14 +226,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 )
@@ -358,16 +357,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;
@@ -656,11 +655,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 )
@@ -669,14 +668,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;
@@ -685,7 +684,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;
@@ -705,7 +704,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 )
@@ -717,7 +716,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 )
@@ -864,28 +863,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;
     }

Reply via email to