CTest::Base64EncodeFile: Avoid manual delete
This commit is contained in:
parent
6757e66089
commit
6ed564577d
|
@ -1506,22 +1506,17 @@ std::string cmCTest::Base64EncodeFile(std::string const& file)
|
||||||
| std::ios::binary
|
| std::ios::binary
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
unsigned char* file_buffer = new unsigned char[len + 1];
|
std::vector<char> file_buffer(len + 1);
|
||||||
ifs.read(reinterpret_cast<char*>(file_buffer), len);
|
ifs.read(&file_buffer[0], len);
|
||||||
ifs.close();
|
ifs.close();
|
||||||
|
|
||||||
unsigned char* encoded_buffer = new unsigned char[(len * 3) / 2 + 5];
|
std::vector<char> encoded_buffer((len * 3) / 2 + 5);
|
||||||
|
|
||||||
size_t const rlen = cmsysBase64_Encode(file_buffer, len, encoded_buffer, 1);
|
size_t const rlen = cmsysBase64_Encode(
|
||||||
|
reinterpret_cast<unsigned char*>(&file_buffer[0]), len,
|
||||||
|
reinterpret_cast<unsigned char*>(&encoded_buffer[0]), 1);
|
||||||
|
|
||||||
std::string base64 = "";
|
return std::string(&encoded_buffer[0], rlen);
|
||||||
for (size_t i = 0; i < rlen; i++) {
|
|
||||||
base64 += encoded_buffer[i];
|
|
||||||
}
|
|
||||||
delete[] file_buffer;
|
|
||||||
delete[] encoded_buffer;
|
|
||||||
|
|
||||||
return base64;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cmCTest::SubmitExtraFiles(const VectorOfStrings& files)
|
bool cmCTest::SubmitExtraFiles(const VectorOfStrings& files)
|
||||||
|
|
Loading…
Reference in New Issue