summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2003-11-03 21:59:15 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2003-11-03 21:59:15 (GMT)
commitdef3fd04366472e80b0546122af82d9b80af9c0a (patch)
tree6033ff6cf22a1c9c5e2f322d5bdc6cd212c9d7ff
parenteff0a824c4b1330da985dff3b7b9fa3793937866 (diff)
downloadCMake-def3fd04366472e80b0546122af82d9b80af9c0a.zip
CMake-def3fd04366472e80b0546122af82d9b80af9c0a.tar.gz
CMake-def3fd04366472e80b0546122af82d9b80af9c0a.tar.bz2
BUG: This fixes problem when submitting bugs on Mac: Bug #320 - When st_size in stat is 64 bit ctest does not submit
-rw-r--r--Source/CTest/Curl/Testing/ftpupload.c2
-rw-r--r--Source/CTest/cmCTestSubmit.cxx8
2 files changed, 7 insertions, 3 deletions
diff --git a/Source/CTest/Curl/Testing/ftpupload.c b/Source/CTest/Curl/Testing/ftpupload.c
index 2981f4a..bca0a56 100644
--- a/Source/CTest/Curl/Testing/ftpupload.c
+++ b/Source/CTest/Curl/Testing/ftpupload.c
@@ -74,7 +74,7 @@ int main(int argc, char **argv)
curl_easy_setopt(curl, CURLOPT_INFILE, hd_src);
/* and give the size of the upload (optional) */
- curl_easy_setopt(curl, CURLOPT_INFILESIZE, file_info.st_size);
+ curl_easy_setopt(curl, CURLOPT_INFILESIZE, (long)file_info.st_size);
/* Now run off and do what you've been told! */
res = curl_easy_perform(curl);
diff --git a/Source/CTest/cmCTestSubmit.cxx b/Source/CTest/cmCTestSubmit.cxx
index 29a8cda..665c1d4 100644
--- a/Source/CTest/cmCTestSubmit.cxx
+++ b/Source/CTest/cmCTestSubmit.cxx
@@ -100,6 +100,7 @@ bool cmCTestSubmit::SubmitUsingFTP(const std::string& localprefix,
CURL *curl;
CURLcode res;
FILE* ftpfile;
+ char error_buffer[1024];
/* In windows, this will init the winsock stuff */
::curl_global_init(CURL_GLOBAL_ALL);
@@ -158,7 +159,9 @@ bool cmCTestSubmit::SubmitUsingFTP(const std::string& localprefix,
::curl_easy_setopt(curl, CURLOPT_INFILE, ftpfile);
// and give the size of the upload (optional)
- ::curl_easy_setopt(curl, CURLOPT_INFILESIZE, st.st_size);
+ ::curl_easy_setopt(curl, CURLOPT_INFILESIZE, static_cast<long>(st.st_size));
+
+ ::curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, &error_buffer);
// Now run off and do what you've been told!
res = ::curl_easy_perform(curl);
@@ -166,6 +169,7 @@ bool cmCTestSubmit::SubmitUsingFTP(const std::string& localprefix,
if ( res )
{
std::cout << " Error when uploading file: " << local_file.c_str() << std::endl;
+ std::cout << " Error message was: " << error_buffer << std::endl;
::curl_easy_cleanup(curl);
::curl_global_cleanup();
return false;
@@ -275,7 +279,7 @@ bool cmCTestSubmit::SubmitUsingHTTP(const std::string& localprefix,
::curl_easy_setopt(curl, CURLOPT_INFILE, ftpfile);
// and give the size of the upload (optional)
- ::curl_easy_setopt(curl, CURLOPT_INFILESIZE, st.st_size);
+ ::curl_easy_setopt(curl, CURLOPT_INFILESIZE, static_cast<long>(st.st_size));
// Now run off and do what you've been told!
res = ::curl_easy_perform(curl);