diff options
author | Brad King <brad.king@kitware.com> | 2018-11-28 18:30:13 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-11-28 19:27:22 (GMT) |
commit | 652210e901f5e1e9bf8e25d35423348de8e50c1a (patch) | |
tree | 5d61ed11486a6d4dd15f76601fe1f9dff53128ce /Source/CTest | |
parent | 772edffbf0c08fc0a6fcf74fb98545b7afcfee13 (diff) | |
download | CMake-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.cxx | 21 |
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; |