Move errors to output variable

This commit is contained in:
Andy Cedilnik 2003-01-27 12:18:43 -05:00
parent 1048560af6
commit 7fcb0525b1
1 changed files with 37 additions and 13 deletions

View File

@ -45,9 +45,6 @@
#define cmMAX(x,y) (((x)<(y))?(y):(x)) #define cmMAX(x,y) (((x)<(y))?(y):(x))
#define win32_error(x,y) std::cout << "Win32_Error(" << x << ", " << y << ")" << std::endl, false
void DisplayErrorMessage() void DisplayErrorMessage()
{ {
LPVOID lpMsgBuf; LPVOID lpMsgBuf;
@ -434,7 +431,9 @@ static BOOL RealPopenCreateProcess(const char *cmdstring,
//std::cout << "Process created..." << std::endl; //std::cout << "Process created..." << std::endl;
return TRUE; return TRUE;
} }
win32_error("CreateProcess", s2); m_Output += "CreateProcessError ";
m_Output += s2;
m_Output += "\n";
return FALSE; return FALSE;
} }
@ -460,7 +459,8 @@ bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
if (!CreatePipe(&hChildStdinRd, &hChildStdinWr, &saAttr, 0)) if (!CreatePipe(&hChildStdinRd, &hChildStdinWr, &saAttr, 0))
{ {
return win32_error("CreatePipe", NULL); m_Output += "CreatePipeError\n";
return false;
} }
/* Create new output read handle and the input write handle. Set /* Create new output read handle and the input write handle. Set
@ -472,7 +472,10 @@ bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
FALSE, FALSE,
DUPLICATE_SAME_ACCESS); DUPLICATE_SAME_ACCESS);
if (!fSuccess) if (!fSuccess)
return win32_error("DuplicateHandle", NULL); {
m_Output += "DuplicateHandleError\n";
return false;
}
/* Close the inheritable version of ChildStdin /* Close the inheritable version of ChildStdin
@ -480,13 +483,19 @@ bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
CloseHandle(hChildStdinWr); CloseHandle(hChildStdinWr);
if (!CreatePipe(&hChildStdoutRd, &hChildStdoutWr, &saAttr, 0)) if (!CreatePipe(&hChildStdoutRd, &hChildStdoutWr, &saAttr, 0))
return win32_error("CreatePipe", NULL); {
m_Output += "CreatePipeError\n";
return false;
}
fSuccess = DuplicateHandle(GetCurrentProcess(), hChildStdoutRd, fSuccess = DuplicateHandle(GetCurrentProcess(), hChildStdoutRd,
GetCurrentProcess(), &hChildStdoutRdDup, 0, GetCurrentProcess(), &hChildStdoutRdDup, 0,
FALSE, DUPLICATE_SAME_ACCESS); FALSE, DUPLICATE_SAME_ACCESS);
if (!fSuccess) if (!fSuccess)
return win32_error("DuplicateHandle", NULL); {
m_Output += "DuplicateHandleError\n";
return false;
}
/* Close the inheritable version of ChildStdout /* Close the inheritable version of ChildStdout
that we're using. */ that we're using. */
@ -495,14 +504,20 @@ bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
if (n != POPEN_4) if (n != POPEN_4)
{ {
if (!CreatePipe(&hChildStderrRd, &hChildStderrWr, &saAttr, 0)) if (!CreatePipe(&hChildStderrRd, &hChildStderrWr, &saAttr, 0))
return win32_error("CreatePipe", NULL); {
m_Output += "CreatePipeError\n";
return false;
}
fSuccess = DuplicateHandle(GetCurrentProcess(), fSuccess = DuplicateHandle(GetCurrentProcess(),
hChildStderrRd, hChildStderrRd,
GetCurrentProcess(), GetCurrentProcess(),
&hChildStderrRdDup, 0, &hChildStderrRdDup, 0,
FALSE, DUPLICATE_SAME_ACCESS); FALSE, DUPLICATE_SAME_ACCESS);
if (!fSuccess) if (!fSuccess)
return win32_error("DuplicateHandle", NULL); {
m_Output += "DuplicateHandleError\n";
return false;
}
/* Close the inheritable version of ChildStdErr that we're using. */ /* Close the inheritable version of ChildStdErr that we're using. */
CloseHandle(hChildStderrRd); CloseHandle(hChildStderrRd);
@ -660,13 +675,22 @@ bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
* when the child process exits and the ReadFile will hang. */ * when the child process exits and the ReadFile will hang. */
if (!CloseHandle(hChildStdinRd)) if (!CloseHandle(hChildStdinRd))
return win32_error("CloseHandle", NULL); {
m_Output += "CloseHandleError\n";
return false;
}
if (!CloseHandle(hChildStdoutWr)) if (!CloseHandle(hChildStdoutWr))
return win32_error("CloseHandle", NULL); {
m_Output += "CloseHandleError\n";
return false;
}
if ((n != 4) && (!CloseHandle(hChildStderrWr))) if ((n != 4) && (!CloseHandle(hChildStderrWr)))
return win32_error("CloseHandle", NULL); {
m_Output += "CloseHandleError\n";
return false;
}
this->m_ProcessHandle = hProcess; this->m_ProcessHandle = hProcess;
if ( fd1 >= 0 ) if ( fd1 >= 0 )