mirror of
https://github.com/reactos/reactos.git
synced 2024-09-06 02:37:06 +00:00
Return error codes correctly, fixes 1109. Patch by Hartmut Birr.
svn path=/trunk/; revision=20204
This commit is contained in:
parent
4ce3d5c9e8
commit
8b5d19e781
|
@ -353,6 +353,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
|
|||
if (first == NULL)
|
||||
{
|
||||
error_out_of_memory();
|
||||
nErrorLevel = 1;
|
||||
return ;
|
||||
}
|
||||
|
||||
|
@ -361,6 +362,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
|
|||
{
|
||||
free (first);
|
||||
error_out_of_memory();
|
||||
nErrorLevel = 1;
|
||||
return ;
|
||||
}
|
||||
|
||||
|
@ -370,6 +372,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
|
|||
free (first);
|
||||
free (rest);
|
||||
error_out_of_memory();
|
||||
nErrorLevel = 1;
|
||||
return ;
|
||||
}
|
||||
|
||||
|
@ -380,6 +383,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
|
|||
free (rest);
|
||||
free (full);
|
||||
error_out_of_memory();
|
||||
nErrorLevel = 1;
|
||||
return ;
|
||||
}
|
||||
|
||||
|
@ -450,7 +454,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
|
|||
free (rest);
|
||||
free (full);
|
||||
free (szFullName);
|
||||
|
||||
nErrorLevel = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -463,6 +467,7 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
|
|||
free (rest);
|
||||
free (full);
|
||||
free (szFullName);
|
||||
nErrorLevel = 1;
|
||||
return;
|
||||
|
||||
}
|
||||
|
@ -525,6 +530,10 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
|
|||
GetExitCodeProcess (prci.hProcess, &dwExitCode);
|
||||
nErrorLevel = (INT)dwExitCode;
|
||||
}
|
||||
else
|
||||
{
|
||||
nErrorLevel = 0;
|
||||
}
|
||||
CloseHandle (prci.hThread);
|
||||
CloseHandle (prci.hProcess);
|
||||
}
|
||||
|
@ -540,6 +549,11 @@ Execute (LPTSTR Full, LPTSTR First, LPTSTR Rest)
|
|||
DebugPrintf (_T("[ShellExecute failed!: %s]\n"), full);
|
||||
#endif
|
||||
error_bad_command ();
|
||||
nErrorLevel = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
nErrorLevel = 0;
|
||||
}
|
||||
}
|
||||
// restore console mode
|
||||
|
@ -1331,7 +1345,7 @@ ProcessInput (BOOL bFlag)
|
|||
if (!(ip = ReadBatchLine (&bEchoThisLine)))
|
||||
{
|
||||
if (bFlag)
|
||||
return 0;
|
||||
return nErrorLevel;
|
||||
|
||||
ReadCommand (readline, CMDLINE_LENGTH);
|
||||
ip = readline;
|
||||
|
@ -1457,7 +1471,7 @@ ProcessInput (BOOL bFlag)
|
|||
}
|
||||
while (!bCanExit || !bExit);
|
||||
|
||||
return 0;
|
||||
return nErrorLevel;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue