summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/kwsys/ProcessWin32.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Source/kwsys/ProcessWin32.c b/Source/kwsys/ProcessWin32.c
index a8fac89..05cc89e 100644
--- a/Source/kwsys/ProcessWin32.c
+++ b/Source/kwsys/ProcessWin32.c
@@ -1334,7 +1334,7 @@ int kwsysProcess_WaitForExit(kwsysProcess* cp, double* userTimeout)
{
/* The children exited. Report the outcome of the last process. */
cp->ExitCode = cp->CommandExitCodes[cp->NumberOfCommands-1];
- if(cp->ExitCode & 0xC0000000)
+ if((cp->ExitCode & 0xF0000000) == 0xC0000000)
{
/* Child terminated due to exceptional behavior. */
cp->State = kwsysProcess_State_Exception;
@@ -1343,10 +1343,10 @@ int kwsysProcess_WaitForExit(kwsysProcess* cp, double* userTimeout)
}
else
{
- /* Child exited normally. */
+ /* Child exited without exception. */
cp->State = kwsysProcess_State_Exited;
cp->ExitException = kwsysProcess_Exception_None;
- cp->ExitValue = cp->ExitCode & 0x000000FF;
+ cp->ExitValue = cp->ExitCode;
}
}