ENH: make sure files are binary for download and make status a pair of value string

This commit is contained in:
Bill Hoffman 2008-02-07 13:26:16 -05:00
parent 4f44c7875f
commit 0bfad2946d
2 changed files with 10 additions and 4 deletions

View File

@ -1970,7 +1970,7 @@ cmFileCommand::HandleDownloadCommand(std::vector<std::string>
}
i++;
}
std::ofstream fout(file.c_str());
std::ofstream fout(file.c_str(), std::ios::binary);
if(!fout)
{
this->SetError("FILE(DOWNLOAD url file TIMEOUT time) can not open "
@ -2008,8 +2008,10 @@ cmFileCommand::HandleDownloadCommand(std::vector<std::string>
curl_easy_cleanup(curl);
if(statusVar.size())
{
this->Makefile->AddDefinition(statusVar.c_str(),
curl_easy_strerror(res));
cmOStringStream result;
result << (int)res << ";\"" << curl_easy_strerror(res) << "\"";
this->Makefile->AddDefinition(statusVar.c_str(),
result.str().c_str());
}
curl_global_cleanup();
if(chunkDebug.size())

View File

@ -150,7 +150,11 @@ public:
"DOWNLOAD will download the givin URL to the given file. "
"If LOG var is specified a log of the download will be put in var. "
"If STATUS var is specified the status of the operation will"
" be put in var. If TIMEOUT time is specified, the operation will "
" be put in var. The status is returned in a list of length 2. "
"The first element is the numeric return value for the operation, "
"and the second element is a string value for the error. A 0 "
"numeric error means no error in the operation. "
"If TIMEOUT time is specified, the operation will "
"timeout after time seconds, time can be specified as a float.\n";
}