Author: hbelusca
Date: Sat Oct 31 22:59:08 2015
New Revision: 69767
URL:
http://svn.reactos.org/svn/reactos?rev=69767&view=rev
Log:
[NTVDM]: Correctly compute the command-line length to be communicated to
COMMAND.COM for
standalone mode.
Modified:
trunk/reactos/subsystems/mvdm/ntvdm/dos/dem.c
Modified: trunk/reactos/subsystems/mvdm/ntvdm/dos/dem.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/mvdm/ntvdm/dos/…
==============================================================================
--- trunk/reactos/subsystems/mvdm/ntvdm/dos/dem.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/mvdm/ntvdm/dos/dem.c [iso-8859-1] Sat Oct 31 22:59:08 2015
@@ -378,20 +378,18 @@
#endif
+ /* Compute the command line length, not counting the terminating "\r\n" */
CmdLen = strlen(CmdLine);
- DPRINT1("Starting '%s' ('%.*s')...\n",
- AppName,
- /* Display the command line without the terminating 0d 0a (and skip the
terminating NULL) */
- CmdLen >= 2 ? (CmdLine[CmdLen - 2] == '\r' ? CmdLen - 2
- : CmdLen)
- : CmdLen,
- CmdLine);
+ if (CmdLen >= 2 && CmdLine[CmdLen - 2] == '\r')
+ CmdLen -= 2;
+
+ DPRINT1("Starting '%s' ('%.*s')...\n", AppName, CmdLen,
CmdLine);
/* Start the process */
// FIXME: Merge 'Env' with the master environment
SEG_OFF_TO_PTR(SYSTEM_ENV_BLOCK, 0)
// FIXME: Environment
RtlCopyMemory(SEG_OFF_TO_PTR(DataStruct->AppNameSeg, DataStruct->AppNameOff),
AppName, MAX_PATH);
- *(PBYTE)(SEG_OFF_TO_PTR(DataStruct->CmdLineSeg, DataStruct->CmdLineOff)) =
(BYTE)(strlen(CmdLine) - 2);
+ *(PBYTE)(SEG_OFF_TO_PTR(DataStruct->CmdLineSeg, DataStruct->CmdLineOff)) =
(BYTE)CmdLen;
RtlCopyMemory(SEG_OFF_TO_PTR(DataStruct->CmdLineSeg, DataStruct->CmdLineOff +
1), CmdLine, DOS_CMDLINE_LENGTH);
#ifndef STANDALONE