Merge topic 'pass_output_by_reference'
7762fffa
Change output to be a reference and not a pointer.
This commit is contained in:
commit
8fef9dd271
|
@ -77,7 +77,7 @@ int cmCTestConfigureHandler::ProcessHandler()
|
|||
this->StartLogFile("Configure", ofs);
|
||||
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Configure with command: "
|
||||
<< cCommand << std::endl);
|
||||
res = this->CTest->RunMakeCommand(cCommand.c_str(), &output,
|
||||
res = this->CTest->RunMakeCommand(cCommand.c_str(), output,
|
||||
&retVal, buildDirectory.c_str(),
|
||||
0, ofs);
|
||||
|
||||
|
|
|
@ -1147,7 +1147,7 @@ int cmCTest::GetTestModelFromString(const char* str)
|
|||
//######################################################################
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
int cmCTest::RunMakeCommand(const char* command, std::string* output,
|
||||
int cmCTest::RunMakeCommand(const char* command, std::string& output,
|
||||
int* retVal, const char* dir, int timeout, std::ostream& ofs)
|
||||
{
|
||||
// First generate the command and arguments
|
||||
|
@ -1166,11 +1166,7 @@ int cmCTest::RunMakeCommand(const char* command, std::string* output,
|
|||
}
|
||||
argv.push_back(0);
|
||||
|
||||
if ( output )
|
||||
{
|
||||
*output = "";
|
||||
}
|
||||
|
||||
output = "";
|
||||
cmCTestLog(this, HANDLER_VERBOSE_OUTPUT, "Run command:");
|
||||
std::vector<const char*>::iterator ait;
|
||||
for ( ait = argv.begin(); ait != argv.end() && *ait; ++ ait )
|
||||
|
@ -1199,27 +1195,25 @@ int cmCTest::RunMakeCommand(const char* command, std::string* output,
|
|||
<< " " << std::flush);
|
||||
while(cmsysProcess_WaitForData(cp, &data, &length, 0))
|
||||
{
|
||||
if ( output )
|
||||
for(int cc =0; cc < length; ++cc)
|
||||
{
|
||||
for(int cc =0; cc < length; ++cc)
|
||||
if(data[cc] == 0)
|
||||
{
|
||||
if(data[cc] == 0)
|
||||
{
|
||||
data[cc] = '\n';
|
||||
}
|
||||
data[cc] = '\n';
|
||||
}
|
||||
|
||||
output->append(data, length);
|
||||
while ( output->size() > (tick * tick_len) )
|
||||
}
|
||||
output.append(data, length);
|
||||
while ( output.size() > (tick * tick_len) )
|
||||
{
|
||||
tick ++;
|
||||
cmCTestLog(this, HANDLER_OUTPUT, "." << std::flush);
|
||||
if ( tick % tick_line_len == 0 && tick > 0 )
|
||||
{
|
||||
tick ++;
|
||||
cmCTestLog(this, HANDLER_OUTPUT, "." << std::flush);
|
||||
if ( tick % tick_line_len == 0 && tick > 0 )
|
||||
{
|
||||
cmCTestLog(this, HANDLER_OUTPUT, " Size: "
|
||||
<< int((double(output->size()) / 1024.0) + 1) << "K" << std::endl
|
||||
<< " " << std::flush);
|
||||
}
|
||||
cmCTestLog(this, HANDLER_OUTPUT,
|
||||
" Size: "
|
||||
<< int((double(output.size()) / 1024.0) + 1)
|
||||
<< "K" << std::endl
|
||||
<< " " << std::flush);
|
||||
}
|
||||
}
|
||||
cmCTestLog(this, HANDLER_VERBOSE_OUTPUT, cmCTestLogWrite(data, length));
|
||||
|
@ -1229,7 +1223,7 @@ int cmCTest::RunMakeCommand(const char* command, std::string* output,
|
|||
}
|
||||
}
|
||||
cmCTestLog(this, OUTPUT, " Size of output: "
|
||||
<< int(double(output->size()) / 1024.0) << "K" << std::endl);
|
||||
<< int(double(output.size()) / 1024.0) << "K" << std::endl);
|
||||
|
||||
cmsysProcess_WaitForExit(cp, 0);
|
||||
|
||||
|
@ -1253,9 +1247,9 @@ int cmCTest::RunMakeCommand(const char* command, std::string* output,
|
|||
}
|
||||
else if(result == cmsysProcess_State_Error)
|
||||
{
|
||||
*output += "\n*** ERROR executing: ";
|
||||
*output += cmsysProcess_GetErrorString(cp);
|
||||
*output += "\n***The build process failed.";
|
||||
output += "\n*** ERROR executing: ";
|
||||
output += cmsysProcess_GetErrorString(cp);
|
||||
output += "\n***The build process failed.";
|
||||
cmCTestLog(this, ERROR_MESSAGE, "There was an error: "
|
||||
<< cmsysProcess_GetErrorString(cp) << std::endl);
|
||||
}
|
||||
|
|
|
@ -271,7 +271,7 @@ public:
|
|||
|
||||
//! Run command specialized for make and configure. Returns process status
|
||||
// and retVal is return value or exception.
|
||||
int RunMakeCommand(const char* command, std::string* output,
|
||||
int RunMakeCommand(const char* command, std::string& output,
|
||||
int* retVal, const char* dir, int timeout,
|
||||
std::ostream& ofs);
|
||||
|
||||
|
|
Loading…
Reference in New Issue