Nikolay Sivov : svchost: Simplify error handling, fix trace message.

Alexandre Julliard julliard at winehq.org
Wed Apr 16 12:11:38 CDT 2014


Module: wine
Branch: master
Commit: 463f91dce16578829bc0593d87ae3ce794939174
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=463f91dce16578829bc0593d87ae3ce794939174

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Tue Apr 15 23:20:49 2014 +0400

svchost: Simplify error handling, fix trace message.

---

 programs/svchost/svchost.c |   22 ++++++++--------------
 1 file changed, 8 insertions(+), 14 deletions(-)

diff --git a/programs/svchost/svchost.c b/programs/svchost/svchost.c
index 573a6a3..8713b4a 100644
--- a/programs/svchost/svchost.c
+++ b/programs/svchost/svchost.c
@@ -254,6 +254,7 @@ static BOOL StartGroupServices(LPWSTR services)
     LPWSTR service_name = NULL;
     SERVICE_TABLE_ENTRYW *service_table = NULL;
     DWORD service_count;
+    BOOL ret;
 
     /* Count the services to load */
     service_count = 0;
@@ -264,8 +265,7 @@ static BOOL StartGroupServices(LPWSTR services)
         service_name = service_name + lstrlenW(service_name);
         ++service_name;
     }
-    WINE_TRACE("Service group %s contains %d services\n",
-            wine_dbgstr_w(services), service_count);
+    WINE_TRACE("Service group contains %d services\n", service_count);
 
     /* Populate the service table */
     service_table = HeapAlloc(GetProcessHeap(), 0,
@@ -287,15 +287,12 @@ static BOOL StartGroupServices(LPWSTR services)
     service_table[service_count].lpServiceProc = NULL;
 
     /* Start the services */
-    if (!StartServiceCtrlDispatcherW(service_table))
-    {
+    if (!(ret = StartServiceCtrlDispatcherW(service_table)))
         WINE_ERR("StartServiceCtrlDispatcherW failed to start %s: %u\n",
                 wine_dbgstr_w(services), GetLastError());
-        HeapFree(GetProcessHeap(), 0, service_table);
-        return FALSE;
-    }
+
     HeapFree(GetProcessHeap(), 0, service_table);
-    return TRUE;
+    return ret;
 }
 
 /* Find the list of services associated with a group name and start those
@@ -327,14 +324,11 @@ static BOOL LoadGroup(PWCHAR group_name)
     }
 
     /* Start services */
-    if (StartGroupServices(services) == FALSE)
-    {
+    if (!(ret = StartGroupServices(services)))
         WINE_TRACE("Failed to start service group\n");
-        HeapFree(GetProcessHeap(), 0, services);
-        return FALSE;
-    }
+
     HeapFree(GetProcessHeap(), 0, services);
-    return TRUE;
+    return ret;
 }
 
 /* Load svchost group specified on the command line via the /k option */




More information about the wine-cvs mailing list