BUG: xmlrpc does the base64 encoding
This commit is contained in:
parent
83343c59c9
commit
630b6353cd
@ -586,8 +586,6 @@ bool cmCTestSubmit::SubmitUsingXMLRPC(const cmStdString& localprefix,
|
|||||||
}
|
}
|
||||||
|
|
||||||
size_t fileSize = st.st_size;
|
size_t fileSize = st.st_size;
|
||||||
size_t encodedSize = static_cast<size_t>(fileSize * 1.5); // Enough space for base64
|
|
||||||
|
|
||||||
FILE* fp = fopen(local_file.c_str(), "r");
|
FILE* fp = fopen(local_file.c_str(), "r");
|
||||||
if ( !fp )
|
if ( !fp )
|
||||||
{
|
{
|
||||||
@ -595,41 +593,20 @@ bool cmCTestSubmit::SubmitUsingXMLRPC(const cmStdString& localprefix,
|
|||||||
}
|
}
|
||||||
|
|
||||||
unsigned char *fileBuffer = new unsigned char[fileSize];
|
unsigned char *fileBuffer = new unsigned char[fileSize];
|
||||||
unsigned char *encodedFileBuffer = new unsigned char[encodedSize];
|
|
||||||
if ( fread(fileBuffer, 1, fileSize, fp) != fileSize )
|
if ( fread(fileBuffer, 1, fileSize, fp) != fileSize )
|
||||||
{
|
{
|
||||||
delete [] fileBuffer;
|
delete [] fileBuffer;
|
||||||
delete [] encodedFileBuffer;
|
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
|
||||||
size_t realEncodedSize = cmsysBase64_Encode(
|
|
||||||
fileBuffer, fileSize,
|
|
||||||
encodedFileBuffer, 1);
|
|
||||||
if ( realEncodedSize < fileSize )
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::cout << "Buffer: [";
|
|
||||||
std::cout.write(reinterpret_cast<const char*>(encodedFileBuffer),
|
|
||||||
realEncodedSize);
|
|
||||||
std::cout << "]" << std::endl;
|
|
||||||
|
|
||||||
/*
|
|
||||||
result = xmlrpc_client_call(&env, "http://betty.userland.com/RPC2",
|
|
||||||
"examples.getStateName",
|
|
||||||
"(i)", (xmlrpc_int32) cnt++);
|
|
||||||
*/
|
|
||||||
std::string remoteCommand = remoteprefix + ".put";
|
std::string remoteCommand = remoteprefix + ".put";
|
||||||
result = xmlrpc_client_call(&env, url.c_str(),
|
result = xmlrpc_client_call(&env, url.c_str(),
|
||||||
remoteCommand.c_str(),
|
remoteCommand.c_str(),
|
||||||
"(6)", encodedFileBuffer, (xmlrpc_int32) realEncodedSize);
|
"(6)", fileBuffer, (xmlrpc_int32)fileSize );
|
||||||
|
|
||||||
delete [] fileBuffer;
|
delete [] fileBuffer;
|
||||||
delete [] encodedFileBuffer;
|
|
||||||
|
|
||||||
if ( env.fault_occurred )
|
if ( env.fault_occurred )
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user