services: Fix compilation on systems that don't support nameless unions.

Francois Gouget fgouget at free.fr
Sat Feb 28 10:30:54 CST 2015


---
 programs/services/rpc.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/programs/services/rpc.c b/programs/services/rpc.c
index 9ecc09c..a3d5a24 100644
--- a/programs/services/rpc.c
+++ b/programs/services/rpc.c
@@ -19,6 +19,7 @@
  */
 
 #define WIN32_LEAN_AND_MEAN
+#define NONAMELESSUNION
 
 #include <stdarg.h>
 #include <windows.h>
@@ -797,9 +798,9 @@ DWORD __cdecl svcctl_ChangeServiceConfig2W( SC_RPC_HANDLE hService, SC_RPC_CONFI
         {
             WCHAR *descr = NULL;
 
-            if (config.descr->lpDescription[0])
+            if (config.u.descr->lpDescription[0])
             {
-                if (!(descr = strdupW( config.descr->lpDescription )))
+                if (!(descr = strdupW( config.u.descr->lpDescription )))
                     return ERROR_NOT_ENOUGH_MEMORY;
             }
 
@@ -813,15 +814,15 @@ DWORD __cdecl svcctl_ChangeServiceConfig2W( SC_RPC_HANDLE hService, SC_RPC_CONFI
         break;
     case SERVICE_CONFIG_FAILURE_ACTIONS:
         WINE_FIXME( "SERVICE_CONFIG_FAILURE_ACTIONS not implemented: period %u msg %s cmd %s\n",
-                    config.actions->dwResetPeriod,
-                    wine_dbgstr_w(config.actions->lpRebootMsg),
-                    wine_dbgstr_w(config.actions->lpCommand) );
+                    config.u.actions->dwResetPeriod,
+                    wine_dbgstr_w(config.u.actions->lpRebootMsg),
+                    wine_dbgstr_w(config.u.actions->lpCommand) );
         break;
     case SERVICE_CONFIG_PRESHUTDOWN_INFO:
         WINE_TRACE( "changing service %p preshutdown timeout to %d\n",
-                service, config.preshutdown->dwPreshutdownTimeout );
+                service, config.u.preshutdown->dwPreshutdownTimeout );
         service_lock_exclusive( service->service_entry );
-        service->service_entry->preshutdown_timeout = config.preshutdown->dwPreshutdownTimeout;
+        service->service_entry->preshutdown_timeout = config.u.preshutdown->dwPreshutdownTimeout;
         save_service_config( service->service_entry );
         service_unlock( service->service_entry );
         break;
-- 
2.1.4




More information about the wine-patches mailing list