Improve internal data structures. New extra field API (read only).
Added paranoid mode to zipcmp (compare more meta data).
Keep up-to-date metadata for changed entries, avoid parallel arrays.
XXX: Modifying extra fields API functions are stubs. Old API removed.
diff --git a/lib/zip_discard.c b/lib/zip_discard.c
index 16cc3d8..29aa25e 100644
--- a/lib/zip_discard.c
+++ b/lib/zip_discard.c
@@ -58,13 +58,12 @@
fclose(za->zp);
free(za->default_password);
- _zip_cdir_free(za->cdir);
- free(za->ch_comment);
+ _zip_string_free(za->comment_orig);
+ _zip_string_free(za->comment_changes);
if (za->entry) {
- for (i=0; i<za->nentry; i++) {
- _zip_entry_free(za->entry+i);
- }
+ for (i=0; i<za->nentry; i++)
+ _zip_entry_finalize(za->entry+i);
free(za->entry);
}