Make sure we cast to unsigned long when using printf, and use ftruncate
authorJonathan Dieter <jdieter@gmail.com>
Wed, 6 Jun 2018 10:24:02 +0000 (13:24 +0300)
committerJonathan Dieter <jdieter@gmail.com>
Wed, 6 Jun 2018 10:24:02 +0000 (13:24 +0300)
return value

Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
src/unzck.c
src/zck.c
src/zck_dl.c
test/empty.c

index 9f30e3bb59efa30871c686b8946d1fb3bef7eb6c..a55172ca5acb853f2895aecc090b72931695e5ac 100644 (file)
@@ -145,7 +145,7 @@ int main (int argc, char *argv[]) {
     if(!zck_close(zck))
         goto error2;
     if(arguments.log_level <= ZCK_LOG_INFO)
-        printf("Decompressed %lu bytes\n", total);
+        printf("Decompressed %lu bytes\n", (unsigned long)total);
     good_exit = True;
 error2:
     free(data);
index a3a688d704d778fe5b5797d30933e456e59d9a7d..5b0e2a8f8f3665e7b782480c4a63ff36f883b276 100644 (file)
--- a/src/zck.c
+++ b/src/zck.c
@@ -264,7 +264,7 @@ int main (int argc, char *argv[]) {
 
             if(arguments.log_level <= ZCK_LOG_INFO) {
                 printf("Using buzhash algorithm for automatic chunking\n");
-                printf("Window size: %lu\n", buzhash_width);
+                printf("Window size: %lu\n", (unsigned long)buzhash_width);
             }
             while(cur_loc < data + in_size) {
                 uint32_t bh = 0;
@@ -297,8 +297,9 @@ int main (int argc, char *argv[]) {
     if(arguments.log_level <= ZCK_LOG_INFO) {
         zckIndex *idx = zck_get_index(zck);
         printf("Wrote %lu bytes in %lu chunks\n",
-               zck_get_data_length(zck) + zck_get_header_length(zck),
-               idx->count);
+               (unsigned long)(zck_get_data_length(zck) +
+                               zck_get_header_length(zck)),
+               (unsigned long)idx->count);
     }
 
     zck_free(&zck);
index 35a252649670d4eab9e04fefb6189358711631dc..8b7f6fc4aeca9bdcad0587b2f7bf62b0e6b2c70f 100644 (file)
@@ -214,11 +214,12 @@ int dl_bytes(dlCtx *dl_ctx, char *url, size_t bytes, size_t start,
 
         if(log_level <= ZCK_LOG_DEBUG)
             printf("Downloading %lu bytes at position %lu\n",
-                   start+bytes-*buffer_len, *buffer_len);
+                   (unsigned long)start+bytes-*buffer_len,
+                   (unsigned long)*buffer_len);
         *buffer_len += start + bytes - *buffer_len;
         if(lseek(fd, start, SEEK_SET) == -1) {
-            printf("Seek to byte %lu of temporary file failed: %s\n", start,
-                   strerror(errno));
+            printf("Seek to byte %lu of temporary file failed: %s\n",
+                   (unsigned long)start, strerror(errno));
             return 0;
         }
     }
@@ -283,7 +284,7 @@ int main (int argc, char *argv[]) {
     CURL *curl_ctx = curl_easy_init();
     if(!curl_ctx) {
         printf("Unable to allocate %lu bytes for curl context\n",
-                sizeof(CURL));
+                (unsigned long)sizeof(CURL));
         exit(10);
     }
 
@@ -323,7 +324,11 @@ int main (int argc, char *argv[]) {
         }
         /* Download the full file */
         lseek(dst_fd, 0, SEEK_SET);
-        ftruncate(dst_fd, 0);
+        if(ftruncate(dst_fd, 0) < 0) {
+            perror(NULL);
+            exit_val = 10;
+            goto out;
+        }
         dlCtx dl_ctx = {0};
         dl_ctx.dl = dl;
         dl_ctx.curl = curl_ctx;
@@ -349,7 +354,11 @@ int main (int argc, char *argv[]) {
             printf("Missing chunks: 0\n");
             printf("Downloaded %lu bytes\n",
                 (long unsigned)zck_dl_get_bytes_downloaded(dl));
-            ftruncate(dst_fd, zck_get_length(zck_tgt));
+            if(ftruncate(dst_fd, zck_get_length(zck_tgt)) < 0) {
+                perror(NULL);
+                exit_val = 10;
+                goto out;
+            }
             exit_val = 0;
             goto out;
         }
@@ -397,7 +406,11 @@ int main (int argc, char *argv[]) {
     }
     printf("Downloaded %lu bytes\n",
            (long unsigned)zck_dl_get_bytes_downloaded(dl));
-    ftruncate(dst_fd, zck_get_length(zck_tgt));
+    if(ftruncate(dst_fd, zck_get_length(zck_tgt)) < 0) {
+        perror(NULL);
+        exit_val = 10;
+        goto out;
+    }
 
     switch(zck_validate_data_checksum(dl->zck)) {
         case -1:
index 865f173edb50d7bc399c29c9537cb74d388d3aaa..1bb5d7dc35b0987030dad37118bae1811c682295 100644 (file)
@@ -89,7 +89,7 @@ int main (int argc, char *argv[]) {
     memset(data, 0, 1000);
     len = zck_read(zck, data, 1000);
     if(len > 0) {
-        printf("%li bytes read, but file should be empty\n", len);
+        printf("%li bytes read, but file should be empty\n", (long)len);
         exit(1);
     }
     if(!zck_close(zck))