--- trunk/reactos/subsys/system/cmd/cmd.c 2005-12-15 23:24:43 UTC (rev 20203)
+++ trunk/reactos/subsys/system/cmd/cmd.c 2005-12-16 03:00:02 UTC (rev 20204)
@@ -353,6 +353,7 @@
if (first == NULL)
{
error_out_of_memory();
+ nErrorLevel = 1;
return ;
}
@@ -361,6 +362,7 @@
{
free (first);
error_out_of_memory();
+ nErrorLevel = 1;
return ;
}
@@ -370,6 +372,7 @@
free (first);
free (rest);
error_out_of_memory();
+ nErrorLevel = 1;
return ;
}
@@ -380,6 +383,7 @@
free (rest);
free (full);
error_out_of_memory();
+ nErrorLevel = 1;
return ;
}
@@ -450,7 +454,7 @@
free (rest);
free (full);
free (szFullName);
-
+ nErrorLevel = 1;
return;
}
@@ -463,6 +467,7 @@
free (rest);
free (full);
free (szFullName);
+ nErrorLevel = 1;
return;
}
@@ -525,6 +530,10 @@
GetExitCodeProcess (prci.hProcess, &dwExitCode);
nErrorLevel = (INT)dwExitCode;
}
+ else
+ {
+ nErrorLevel = 0;
+ }
CloseHandle (prci.hThread);
CloseHandle (prci.hProcess);
}
@@ -540,7 +549,12 @@
DebugPrintf (_T("[ShellExecute failed!: %s]\n"), full);
#endif
error_bad_command ();
+ nErrorLevel = 1;
}
+ else
+ {
+ nErrorLevel = 0;
+ }
}
// restore console mode
SetConsoleMode (
@@ -1331,7 +1345,7 @@
if (!(ip = ReadBatchLine (&bEchoThisLine)))
{
if (bFlag)
- return 0;
+ return nErrorLevel;
ReadCommand (readline, CMDLINE_LENGTH);
ip = readline;
@@ -1457,7 +1471,7 @@
}
while (!bCanExit || !bExit);
- return 0;
+ return nErrorLevel;
}