Not only that but the switch statement seems to be lacking breaks.
Casper Hornstrup wrote:
Missing return in success path.
Casper
------------------------------------------------------------------------
*From:* ros-diffs-bounces(a)reactos.org
[mailto:ros-diffs-bounces@reactos.org] *On Behalf Of
*hpoussin(a)svn.reactos.org
*Sent:* 30. december 2005 11:29
*To:* ros-diffs(a)reactos.org
*Subject:* [ros-diffs] [hpoussin] 20456: Forward ChangeServiceConfig2W
call toservices.exe
Forward ChangeServiceConfig2W call to services.exe
Modified: trunk/reactos/include/idl/svcctl.idl
Modified: trunk/reactos/lib/advapi32/advapi32.def
Modified: trunk/reactos/lib/advapi32/service/scm.c
Modified: trunk/reactos/subsys/system/services/rpcserver.c
------------------------------------------------------------------------
*Modified: trunk/reactos/lib/advapi32/service/scm.c*
--- trunk/reactos/lib/advapi32/service/scm.c 2005-12-30 01:41:02 UTC (rev 20455)
+++ trunk/reactos/lib/advapi32/service/scm.c 2005-12-30 10:29:07 UTC (rev 20456)
@@ -78,6 +78,53 @@
/**********************************************************************
+ * ChangeServiceConfig2W
+ *
+ * @implemented
+ */
+BOOL WINAPI
+ChangeServiceConfig2W(SC_HANDLE hService,
+ DWORD dwInfoLevel,
+ LPVOID lpInfo)
+{
+ DWORD lpInfoSize;
+ DWORD dwError;
+
+ DPRINT("ChangeServiceConfig2W() called\n");
+
+ /* Determine the length of the lpInfo parameter */
+ switch (dwInfoLevel)
+ {
+ case SERVICE_CONFIG_DESCRIPTION:
+ lpInfoSize = sizeof(SERVICE_DESCRIPTION);
+ case SERVICE_CONFIG_FAILURE_ACTIONS:
+ lpInfoSize = sizeof(SERVICE_FAILURE_ACTIONS);
+ default:
+ DPRINT1("Unknown info level 0x%lx\n", dwInfoLevel);
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
+
+ if (lpInfo == NULL)
+ return TRUE;
+
+ HandleBind();
+
+ dwError = ScmrChangeServiceConfig2W(BindingHandle,
+ (unsigned int)hService,
+ dwInfoLevel,
+ lpInfo,
+ lpInfoSize);
+ if (dwError != ERROR_SUCCESS)
+ {
+ DPRINT1("ScmrChangeServiceConfig2W() failed (Error %lu)\n", dwError);
+ SetLastError(dwError);
+ return FALSE;
+ }
+}
+
+
+/**********************************************************************
* ChangeServiceConfigA
*
* @implemented
@@ -1553,7 +1600,7 @@
#if 0
DWORD dwError;
- DPRINT("StartServiceW()\n"*, ScLock*);
+ DPRINT("StartServiceW()\n");
HandleBind();
------------------------------------------------------------------------
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev