Author: hbelusca Date: Sun May 18 23:13:12 2014 New Revision: 63363
URL: http://svn.reactos.org/svn/reactos?rev=63363&view=rev Log: [KERNEL32]: Fix the newline adding (see r63361).
Modified: trunk/reactos/dll/win32/kernel32/client/vdm.c
Modified: trunk/reactos/dll/win32/kernel32/client/vdm.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/v... ============================================================================== --- trunk/reactos/dll/win32/kernel32/client/vdm.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/client/vdm.c [iso-8859-1] Sun May 18 23:13:12 2014 @@ -284,14 +284,13 @@ if (StartupInfo->dwFlags & STARTF_USESTDHANDLES) { /* Set the standard handles */ - CheckVdm->StdIn = StartupInfo->hStdInput; + CheckVdm->StdIn = StartupInfo->hStdInput; CheckVdm->StdOut = StartupInfo->hStdOutput; CheckVdm->StdErr = StartupInfo->hStdError; }
/* Allocate memory for the ANSI strings */ - - /* For the command line we need to add two characters needed for newline '\r\n' */ + // We need to add the two newline characters '\r\n' to the command line AnsiCmdLine = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, CheckVdm->CmdLen + 2); AnsiAppName = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, CheckVdm->AppLen); AnsiCurDirectory = (PCHAR)RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, CheckVdm->CurDirectoryLen); @@ -325,11 +324,11 @@ CheckVdm->CmdLen, NULL, NULL); - /* Add a needed newline '\r\n' */ - CheckVdm->CmdLen--; // FIXME.... - AnsiCmdLine[CheckVdm->CmdLen ] = '\r'; - AnsiCmdLine[CheckVdm->CmdLen + 1] = '\n'; - CheckVdm->CmdLen += 2; + /* Add a needed newline '\r\n' and NULL-terminate */ + CheckVdm->CmdLen--; // Rewind back to the NULL character + AnsiCmdLine[CheckVdm->CmdLen++] = '\r'; + AnsiCmdLine[CheckVdm->CmdLen++] = '\n'; + AnsiCmdLine[CheckVdm->CmdLen++] = 0;
/* Convert the short application name into an ANSI string */ WideCharToMultiByte(CP_ACP,