Rename _zip_free to zip_discard and make it available in the public API. It closes zip archives without saving changes. --HG-- branch : HEAD
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 9cde52d..d1cb0c3 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt
@@ -58,6 +58,7 @@ zip_close.c zip_delete.c zip_dirent.c + zip_discard.c zip_entry_free.c zip_entry_new.c zip_err_str.c @@ -79,7 +80,6 @@ zip_fopen_index.c zip_fopen_index_encrypted.c zip_fread.c - zip_free.c zip_get_archive_comment.c zip_get_archive_flag.c zip_get_compression_implementation.c
diff --git a/lib/Makefile.am b/lib/Makefile.am index 9ecf677..9a1c28d 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am
@@ -15,6 +15,7 @@ zip_close.c \ zip_delete.c \ zip_dirent.c \ + zip_discard.c \ zip_entry_free.c \ zip_entry_new.c \ zip_err_str.c \ @@ -36,7 +37,6 @@ zip_fopen_index.c \ zip_fopen_index_encrypted.c \ zip_fread.c \ - zip_free.c \ zip_get_archive_comment.c \ zip_get_archive_flag.c \ zip_get_compression_implementation.c \
diff --git a/lib/zip.h b/lib/zip.h index 980eb91..b34039f 100644 --- a/lib/zip.h +++ b/lib/zip.h
@@ -218,6 +218,7 @@ ZIP_EXTERN zip_int64_t zip_add(struct zip *, const char *, struct zip_source *); ZIP_EXTERN zip_int64_t zip_add_dir(struct zip *, const char *); ZIP_EXTERN int zip_close(struct zip *); +ZIP_EXTERN void zip_discard(struct zip *); ZIP_EXTERN int zip_delete(struct zip *, zip_uint64_t); ZIP_EXTERN void zip_error_clear(struct zip *); ZIP_EXTERN void zip_error_get(struct zip *, int *, int *);
diff --git a/lib/zip_close.c b/lib/zip_close.c index f815723..323d4ce 100644 --- a/lib/zip_close.c +++ b/lib/zip_close.c
@@ -89,7 +89,7 @@ return -1; if (!_zip_changed(za, &survivors)) { - _zip_free(za); + zip_discard(za); return 0; } @@ -101,7 +101,7 @@ return -1; } } - _zip_free(za); + zip_discard(za); return 0; } @@ -347,7 +347,7 @@ chmod(za->zn, 0666&~mask); #endif - _zip_free(za); + zip_discard(za); free(temp); return 0;
diff --git a/lib/zip_free.c b/lib/zip_discard.c similarity index 93% rename from lib/zip_free.c rename to lib/zip_discard.c index 9932c14..16cc3d8 100644 --- a/lib/zip_free.c +++ b/lib/zip_discard.c
@@ -1,6 +1,6 @@ /* - zip_free.c -- free struct zip - Copyright (C) 1999-2007 Dieter Baron and Thomas Klausner + zip_discard.c -- discard and free struct zip + Copyright (C) 1999-2012 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> @@ -39,12 +39,12 @@ -/* _zip_free: +/* zip_discard: frees the space allocated to a zipfile struct, and closes the corresponding file. */ void -_zip_free(struct zip *za) +zip_discard(struct zip *za) { int i;
diff --git a/lib/zip_open.c b/lib/zip_open.c index f147004..75e7670 100644 --- a/lib/zip_open.c +++ b/lib/zip_open.c
@@ -124,7 +124,7 @@ else if ((za->entry=(struct zip_entry *)malloc(sizeof(*(za->entry)) * cdir->nentry)) == NULL) { set_error(zep, NULL, ZIP_ER_MEMORY); - _zip_free(za); + zip_discard(za); return NULL; } for (i=0; i<cdir->nentry; i++) @@ -460,7 +460,7 @@ else { za->zn = strdup(fn); if (!za->zn) { - _zip_free(za); + zip_discard(za); set_error(zep, NULL, ZIP_ER_MEMORY); return NULL; }
diff --git a/lib/zipint.h b/lib/zipint.h index b39b786..2e21946 100644 --- a/lib/zipint.h +++ b/lib/zipint.h
@@ -356,7 +356,6 @@ zip_uint64_t, zip_int64_t, const char *); int _zip_changed(struct zip *, int *); -void _zip_free(struct zip *); const char *_zip_get_name(struct zip *, zip_uint64_t, int, struct zip_error *); int _zip_local_header_read(struct zip *, int); void *_zip_memdup(const void *, size_t, struct zip_error *);