summaryrefslogtreecommitdiffstats
path: root/Source/cmCTest.cxx
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2014-08-04 19:16:40 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2014-08-04 19:16:40 (GMT)
commit7762fffa238a9bbc28658742792c25c10a7cc9c5 (patch)
tree0dffb920cf30e1c082a600b93fbcdb8ae0fc62fc /Source/cmCTest.cxx
parentba60ff99ed2ea35f8b8c24bc566b6f60d51fce53 (diff)
downloadCMake-7762fffa238a9bbc28658742792c25c10a7cc9c5.zip
CMake-7762fffa238a9bbc28658742792c25c10a7cc9c5.tar.gz
CMake-7762fffa238a9bbc28658742792c25c10a7cc9c5.tar.bz2
Change output to be a reference and not a pointer.
This avoids having to check the pointer value at each use which was not being done.
Diffstat (limited to 'Source/cmCTest.cxx')
-rw-r--r--Source/cmCTest.cxx48
1 files changed, 21 insertions, 27 deletions
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index d797d3b..b28f3b5 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -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);
}