]> granicus.if.org Git - curl/commitdiff
examples/sftpuploadresmue: Fix Windows large file seek
authorJay Satiro <raysatiro@yahoo.com>
Sat, 7 Apr 2018 20:03:55 +0000 (16:03 -0400)
committerJay Satiro <raysatiro@yahoo.com>
Sat, 7 Apr 2018 20:03:55 +0000 (16:03 -0400)
- Use _fseeki64 instead of fseek (long) to seek curl_off_t in Windows.

- Use CURL_FORMAT_CURL_OFF_T specifier instead of %ld to print
  curl_off_t.

Caught by Marc's CI builds.

docs/examples/sftpuploadresume.c

index 032bcaffbe8a6779029571ae90da0cde9ac525e3..3fcab71fb354a3d9b3f5ae313406ecb1cf79b384 100644 (file)
@@ -65,7 +65,7 @@ static curl_off_t sftpGetRemoteFileSize(const char *i_remoteFile)
     result = curl_easy_getinfo(curlHandlePtr,
                                CURLINFO_CONTENT_LENGTH_DOWNLOAD_T,
                                &remoteFileSizeByte);
-    printf("filesize: %ld \n", remoteFileSizeByte);
+    printf("filesize: %" CURL_FORMAT_CURL_OFF_T "\n", remoteFileSizeByte);
   }
   curl_easy_cleanup(curlHandlePtr);
 
@@ -96,7 +96,11 @@ static int sftpResumeUpload(CURL *curlhandle, const char *remotepath,
   curl_easy_setopt(curlhandle, CURLOPT_READFUNCTION, readfunc);
   curl_easy_setopt(curlhandle, CURLOPT_READDATA, f);
 
+#ifdef _WIN32
+  _fseeki64(f, remoteFileSizeByte, SEEK_SET);
+#else
   fseek(f, remoteFileSizeByte, SEEK_SET);
+#endif
   curl_easy_setopt(curlhandle, CURLOPT_APPEND, 1L);
   result = curl_easy_perform(curlhandle);