]> granicus.if.org Git - curl/commitdiff
typecast the setting of the size, as it might be an off_t which is bigger
authorDaniel Stenberg <daniel@haxx.se>
Tue, 15 Apr 2003 14:18:37 +0000 (14:18 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 15 Apr 2003 14:18:37 +0000 (14:18 +0000)
than long and libcurl expects a long...

tests/libtest/lib505.c

index 9aeb878bcda807f43c0737aa112cb9cde1a71b50..6945598c136f3d438024d709f9c602ca1733cb32 100644 (file)
@@ -47,13 +47,16 @@ CURLcode test(char *URL)
   const char *buf_2 = "RNTO 505-forreal";
 
   /* get the file size of the local file */
-  hd = open(arg2, O_RDONLY) ;
+  hd = stat(arg2, &file_info);
   if(hd == -1) {
     /* can't open file, bail out */
     return -1;
   }
-  fstat(hd, &file_info);
-  close(hd);
+
+  if(! file_info.st_size) {
+    fprintf(stderr, "WARNING: file %s has no size!\n", arg2);
+    return -4;
+  }
 
   /* get a FILE * of the same file, could also be made with
      fdopen() from the previous descriptor, but hey this is just 
@@ -89,7 +92,8 @@ CURLcode test(char *URL)
     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);