summaryrefslogtreecommitdiffstats
path: root/Source/CTest
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-11-28 18:30:13 (GMT)
committerBrad King <brad.king@kitware.com>2018-11-28 19:27:22 (GMT)
commit652210e901f5e1e9bf8e25d35423348de8e50c1a (patch)
tree5d61ed11486a6d4dd15f76601fe1f9dff53128ce /Source/CTest
parent772edffbf0c08fc0a6fcf74fb98545b7afcfee13 (diff)
downloadCMake-652210e901f5e1e9bf8e25d35423348de8e50c1a.zip
CMake-652210e901f5e1e9bf8e25d35423348de8e50c1a.tar.gz
CMake-652210e901f5e1e9bf8e25d35423348de8e50c1a.tar.bz2
cmSystemTools: Add EncodeURL helper
Factor a URL encoding implementation out of CTest. Add an option to not escape slashes. Suggested-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Diffstat (limited to 'Source/CTest')
-rw-r--r--Source/CTest/cmCTestSubmitHandler.cxx21
1 files changed, 1 insertions, 20 deletions
diff --git a/Source/CTest/cmCTestSubmitHandler.cxx b/Source/CTest/cmCTestSubmitHandler.cxx
index 061c8ef..cc3a105 100644
--- a/Source/CTest/cmCTestSubmitHandler.cxx
+++ b/Source/CTest/cmCTestSubmitHandler.cxx
@@ -407,26 +407,7 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP(
*this->LogFile << "\tUpload file: " << local_file << " to "
<< remote_file << std::endl;
- std::string ofile;
- for (char c : remote_file) {
- char hexCh[4] = { 0, 0, 0, 0 };
- hexCh[0] = c;
- switch (c) {
- case '+':
- case '?':
- case '/':
- case '\\':
- case '&':
- case ' ':
- case '=':
- case '%':
- sprintf(hexCh, "%%%02X", static_cast<int>(c));
- ofile.append(hexCh);
- break;
- default:
- ofile.append(hexCh);
- }
- }
+ std::string ofile = cmSystemTools::EncodeURL(remote_file);
std::string upload_as = url +
((url.find('?') == std::string::npos) ? '?' : '&') +
"FileName=" + ofile;