summaryrefslogtreecommitdiffstats
path: root/Source/CTest/cmCTestSubmitHandler.cxx
diff options
context:
space:
mode:
authorZach Mullen <zach.mullen@kitware.com>2010-06-03 17:27:26 (GMT)
committerZach Mullen <zach.mullen@kitware.com>2010-06-03 17:27:26 (GMT)
commit082c87e5287e75e65a75d7588c40508f12e18632 (patch)
treec4227d639965b8023bcd335371688901dba1646e /Source/CTest/cmCTestSubmitHandler.cxx
parente525649a4e9f2578c41593b56f9af4b4b7719984 (diff)
downloadCMake-082c87e5287e75e65a75d7588c40508f12e18632.zip
CMake-082c87e5287e75e65a75d7588c40508f12e18632.tar.gz
CMake-082c87e5287e75e65a75d7588c40508f12e18632.tar.bz2
Cross-platform fixes for checksum/retry code
Diffstat (limited to 'Source/CTest/cmCTestSubmitHandler.cxx')
-rw-r--r--Source/CTest/cmCTestSubmitHandler.cxx34
1 files changed, 20 insertions, 14 deletions
diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx
index fca05ac..fe00a82 100644
--- a/Source/CTest/cmCTestSubmitHandler.cxx
+++ b/Source/CTest/cmCTestSubmitHandler.cxx
@@ -55,12 +55,19 @@ public:
std::string Message;
private:
- std::string CurrentValue;
- std::string CurrentTag;
+
+ std::vector<char> CurrentValue;
+
+ std::string GetCurrentValue()
+ {
+ std::string val;
+ val.assign(&this->CurrentValue[0], this->CurrentValue.size());
+ return val;
+ }
virtual void StartElement(const char* name, const char** atts)
{
- this->CurrentValue = "";
+ this->CurrentValue.clear();
if(strcmp(name, "cdash") == 0)
{
this->CDashVersion = this->FindAttribute(atts, "version");
@@ -76,12 +83,12 @@ private:
{
if(strcmp(name, "status") == 0)
{
- this->CurrentValue = cmSystemTools::UpperCase(this->CurrentValue);
- if(this->CurrentValue == "OK" || this->CurrentValue == "SUCCESS")
+ std::string status = cmSystemTools::UpperCase(this->GetCurrentValue());
+ if(status == "OK" || status == "SUCCESS")
{
this->Status = STATUS_OK;
}
- else if(this->CurrentValue == "WARNING")
+ else if(status == "WARNING")
{
this->Status = STATUS_WARNING;
}
@@ -92,15 +99,15 @@ private:
}
else if(strcmp(name, "filename") == 0)
{
- this->Filename = this->CurrentValue;
+ this->Filename = this->GetCurrentValue();
}
else if(strcmp(name, "md5") == 0)
{
- this->MD5 = this->CurrentValue;
+ this->MD5 = this->GetCurrentValue();
}
else if(strcmp(name, "message") == 0)
{
- this->Message = this->CurrentValue;
+ this->Message = this->GetCurrentValue();
}
}
};
@@ -445,9 +452,8 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP(const cmStdString& localprefix,
char md5[33];
cmSystemTools::ComputeFileMD5(local_file.c_str(), md5);
md5[32] = 0;
- std::stringstream md5string;
- md5string << "&MD5=" << md5;
- upload_as += md5string.str();
+ upload_as += "&MD5=";
+ upload_as += md5;
struct stat st;
if ( ::stat(local_file.c_str(), &st) )
@@ -501,9 +507,9 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP(const cmStdString& localprefix,
"" : this->GetOption("RetryCount");
int time = retryTime == "" ? atoi(this->CTest->GetCTestConfiguration(
- "CTestRetryTime").c_str()) : atoi(retryTime.c_str());
+ "CTestSubmitRetryDelay").c_str()) : atoi(retryTime.c_str());
int count = retryCount == "" ? atoi(this->CTest->GetCTestConfiguration(
- "CTestRetryCount").c_str()) : atoi(retryCount.c_str());
+ "CTestSubmitRetryCount").c_str()) : atoi(retryCount.c_str());
for(int i = 0; i < count; i++)
{