Imported Upstream version 1.9.0
[platform/upstream/libzip.git] / examples / in-memory.c
index b86089a..6fb666f 100644 (file)
@@ -1,6 +1,6 @@
 /*
   in-memory.c -- modify zip file in memory
-  Copyright (C) 2014-2019 Dieter Baron and Thomas Klausner
+  Copyright (C) 2014-2022 Dieter Baron and Thomas Klausner
 
   This file is part of libzip, a library to manipulate ZIP archives.
   The authors can be contacted at <libzip@nih.at>
@@ -46,34 +46,34 @@ get_data(void **datap, size_t *sizep, const char *archive) {
     FILE *fp;
 
     if ((fp = fopen(archive, "rb")) == NULL) {
-       if (errno != ENOENT) {
-           fprintf(stderr, "can't open %s: %s\n", archive, strerror(errno));
-           return -1;
-       }
+        if (errno != ENOENT) {
+            fprintf(stderr, "can't open %s: %s\n", archive, strerror(errno));
+            return -1;
+        }
 
-       *datap = NULL;
-       *sizep = 0;
+        *datap = NULL;
+        *sizep = 0;
 
-       return 0;
+        return 0;
     }
 
     if (fstat(fileno(fp), &st) < 0) {
-       fprintf(stderr, "can't stat %s: %s\n", archive, strerror(errno));
-       fclose(fp);
-       return -1;
+        fprintf(stderr, "can't stat %s: %s\n", archive, strerror(errno));
+        fclose(fp);
+        return -1;
     }
 
     if ((*datap = malloc((size_t)st.st_size)) == NULL) {
-       fprintf(stderr, "can't allocate buffer\n");
-       fclose(fp);
-       return -1;
+        fprintf(stderr, "can't allocate buffer\n");
+        fclose(fp);
+        return -1;
     }
 
     if (fread(*datap, 1, (size_t)st.st_size, fp) < (size_t)st.st_size) {
-       fprintf(stderr, "can't read %s: %s\n", archive, strerror(errno));
-       free(*datap);
-       fclose(fp);
-       return -1;
+        fprintf(stderr, "can't read %s: %s\n", archive, strerror(errno));
+        free(*datap);
+        fclose(fp);
+        return -1;
     }
 
     fclose(fp);
@@ -95,25 +95,25 @@ use_data(void *data, size_t size, const char *archive) {
     FILE *fp;
 
     if (data == NULL) {
-       if (remove(archive) < 0 && errno != ENOENT) {
-           fprintf(stderr, "can't remove %s: %s\n", archive, strerror(errno));
-           return -1;
-       }
-       return 0;
+        if (remove(archive) < 0 && errno != ENOENT) {
+            fprintf(stderr, "can't remove %s: %s\n", archive, strerror(errno));
+            return -1;
+        }
+        return 0;
     }
 
     if ((fp = fopen(archive, "wb")) == NULL) {
-       fprintf(stderr, "can't open %s: %s\n", archive, strerror(errno));
-       return -1;
+        fprintf(stderr, "can't open %s: %s\n", archive, strerror(errno));
+        return -1;
     }
     if (fwrite(data, 1, size, fp) < size) {
-       fprintf(stderr, "can't write %s: %s\n", archive, strerror(errno));
-       fclose(fp);
-       return -1;
+        fprintf(stderr, "can't write %s: %s\n", archive, strerror(errno));
+        fclose(fp);
+        return -1;
     }
     if (fclose(fp) < 0) {
-       fprintf(stderr, "can't write %s: %s\n", archive, strerror(errno));
-       return -1;
+        fprintf(stderr, "can't write %s: %s\n", archive, strerror(errno));
+        return -1;
     }
 
     return 0;
@@ -130,31 +130,31 @@ main(int argc, char *argv[]) {
     size_t size;
 
     if (argc < 2) {
-       fprintf(stderr, "usage: %s archive\n", argv[0]);
-       return 1;
+        fprintf(stderr, "usage: %s archive\n", argv[0]);
+        return 1;
     }
     archive = argv[1];
 
     /* get buffer with zip archive inside */
     if (get_data(&data, &size, archive) < 0) {
-       return 1;
+        return 1;
     }
 
     zip_error_init(&error);
     /* create source from buffer */
     if ((src = zip_source_buffer_create(data, size, 1, &error)) == NULL) {
-       fprintf(stderr, "can't create source: %s\n", zip_error_strerror(&error));
-       free(data);
-       zip_error_fini(&error);
-       return 1;
+        fprintf(stderr, "can't create source: %s\n", zip_error_strerror(&error));
+        free(data);
+        zip_error_fini(&error);
+        return 1;
     }
 
     /* open zip archive from source */
     if ((za = zip_open_from_source(src, 0, &error)) == NULL) {
-       fprintf(stderr, "can't open zip from source: %s\n", zip_error_strerror(&error));
-       zip_source_free(src);
-       zip_error_fini(&error);
-       return 1;
+        fprintf(stderr, "can't open zip from source: %s\n", zip_error_strerror(&error));
+        zip_source_free(src);
+        zip_error_fini(&error);
+        return 1;
     }
     zip_error_fini(&error);
 
@@ -166,43 +166,43 @@ main(int argc, char *argv[]) {
 
     /* close archive */
     if (zip_close(za) < 0) {
-       fprintf(stderr, "can't close zip archive '%s': %s\n", archive, zip_strerror(za));
-       return 1;
+        fprintf(stderr, "can't close zip archive '%s': %s\n", archive, zip_strerror(za));
+        return 1;
     }
 
 
     /* copy new archive to buffer */
 
     if (zip_source_is_deleted(src)) {
-       /* new archive is empty, thus no data */
-       data = NULL;
+        /* new archive is empty, thus no data */
+        data = NULL;
     }
     else {
-       zip_stat_t zst;
-
-       if (zip_source_stat(src, &zst) < 0) {
-           fprintf(stderr, "can't stat source: %s\n", zip_error_strerror(zip_source_error(src)));
-           return 1;
-       }
-
-       size = zst.size;
-
-       if (zip_source_open(src) < 0) {
-           fprintf(stderr, "can't open source: %s\n", zip_error_strerror(zip_source_error(src)));
-           return 1;
-       }
-       if ((data = malloc(size)) == NULL) {
-           fprintf(stderr, "malloc failed: %s\n", strerror(errno));
-           zip_source_close(src);
-           return 1;
-       }
-       if ((zip_uint64_t)zip_source_read(src, data, size) < size) {
-           fprintf(stderr, "can't read data from source: %s\n", zip_error_strerror(zip_source_error(src)));
-           zip_source_close(src);
-           free(data);
-           return 1;
-       }
-       zip_source_close(src);
+        zip_stat_t zst;
+
+        if (zip_source_stat(src, &zst) < 0) {
+            fprintf(stderr, "can't stat source: %s\n", zip_error_strerror(zip_source_error(src)));
+            return 1;
+        }
+
+        size = zst.size;
+
+        if (zip_source_open(src) < 0) {
+            fprintf(stderr, "can't open source: %s\n", zip_error_strerror(zip_source_error(src)));
+            return 1;
+        }
+        if ((data = malloc(size)) == NULL) {
+            fprintf(stderr, "malloc failed: %s\n", strerror(errno));
+            zip_source_close(src);
+            return 1;
+        }
+        if ((zip_uint64_t)zip_source_read(src, data, size) < size) {
+            fprintf(stderr, "can't read data from source: %s\n", zip_error_strerror(zip_source_error(src)));
+            zip_source_close(src);
+            free(data);
+            return 1;
+        }
+        zip_source_close(src);
     }
 
     /* we're done with src */