2006-05-06 01:13  Dieter Baron <dillo@danbala.tuwien.ac.at>

	* NEWS, configure.ac: Prepare for 0.7 release.

2006-05-06 01:08  Dieter Baron <dillo@danbala.tuwien.ac.at>

	* TODO, regress/Makefile.am, regress/fread.c,
	  regress/name_locate.c, regress/open.c: Fix distcheck: retire
	  mkname (remnant from before runtest).

2006-05-04 02:01  Dieter Baron <dillo@danbala.tuwien.ac.at>

	* lib/zip_open.c: Report ZIP_ERR_INCONS for zip archives with
	  trailing garbage (if using ZIP_CHECK_CONS).

2006-04-24 16:04  Dieter Baron <dillo@danbala.tuwien.ac.at>

	* lib/zip.h, lib/zip_stat_index.c, lib/zipint.h,
	  regress/Makefile.am, regress/encrypt.c, regress/encrypt.test,
	  regress/encrypt.zip: Fill in encryption_method in zip_stat.  XXX:
	  strong encryption algorithms returned as unknown for now.

2006-04-24 12:34  Dieter Baron <dillo@danbala.tuwien.ac.at>

	* lib/: zip_memdup.c, zip_set_archive_comment.c,
	  zip_set_file_comment.c: Fix warnings due to missing includes.
	  Check that comment != NULL if len > 0, avoid _zip_memdup with
	  size 0.

2006-04-23 20:52  Thomas Klausner <wiz@danbala.tuwien.ac.at>

	* ChangeLog: cvs2cl for latest entries.

2006-04-23 20:47  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/zip_open.c, src/zipcmp.c: Only check for garbage at end of
	  file when ZIP_CHECKCONS.

2006-04-23 20:47  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* configure.ac: Bump to 0.6.1d for another test release.

2006-04-23 18:38  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* NEWS: Document comment support.

2006-04-23 18:37  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/libzip.man: regen.

2006-04-23 18:37  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/libzip.mdoc: Link zip_unchange_archive.

2006-04-23 18:36  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip.h: Add zip_unchange_archive.

2006-04-23 18:35  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* TODO: Another TODO done.

2006-04-23 18:11  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip_get_archive_comment.c: We do not check za for NULL
	  elsewhere, so do not check it here either.

2006-04-23 18:11  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip_close.c: Avoid _zip_memdup of NULL.

2006-04-23 17:26  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/: zip_set_archive_comment.c, zip_set_file_comment.c: Use
	  _zip_memdup.

2006-04-23 17:03  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/: zip_set_archive_comment.man, zip_set_file_comment.man:
	  regen.

2006-04-23 16:57  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/: zip_set_archive_comment.mdoc, zip_set_file_comment.mdoc:
	  Drop trailing whitespace.

2006-04-23 16:55  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/zip_source_free.man: regen.

2006-04-23 16:55  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/zip_source_free.mdoc: Document that it should not be called
	  after a successful zip_add or zip_replace.

2006-04-23 16:52  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* TODO: UNISTD_H done.

2006-04-23 16:51  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/mkstemp.c, lib/zip_close.c, lib/zip_dirent.c,
	  lib/zip_file_get_offset.c, src/zipcmp.c: Remove unneeded
	  inclusion of unistd.h.  Tested on Darwin, Irix, NetBSD, Solaris.

2006-04-23 16:51  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* src/zipmerge.c: Test for HAVE_UNISTD_H before including it.

2006-04-23 16:50  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip_source_buffer.c: Unsigned fix for Irix cc.

2006-04-23 16:50  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip_open.c: Unsigned fix for Irix cc. Remove unneeded
	  inclusion of unistd.h.

2006-04-23 16:49  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip_fread.c: unsigned fix for Irix cc.

2006-04-23 16:49  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* configure.ac: Check for unistd.h.

2006-04-23 16:33  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/Makefile.am: Set path to zipcmp in environment.

2006-04-23 16:17  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/get_comment.c: Only print len characters from file
	  comment.

2006-04-23 16:13  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/Makefile.am: Add another zip file.

2006-04-23 15:55  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/: set_comment_all.c, set_comment_localonly.c,
	  set_comment_removeglobal.c, set_comment_revert.c: Remove unused
	  variables found by Irix cc.

2006-04-23 15:33  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* TODO: Remove comment related stuff.

2006-04-23 15:30  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/zip_unchange_archive.man: Add.

2006-04-23 15:30  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/: zip_get_archive_comment.man, zip_get_file_comment.man,
	  zip_unchange.man, zip_unchange_all.man: regen

2006-04-23 15:30  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/Makefile.am: Add zip_unchange_archive.

2006-04-23 15:28  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/: set_comment_all.c, set_comment_localonly.c,
	  set_comment_revert.c: Correct comment.

2006-04-23 15:28  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/: Makefile.am, set_comment_removeglobal.c,
	  set_comment_removeglobal.test, testcommentremoved.zip: Add test
	  for removing archive comment.

2006-04-23 15:21  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip_unchange.c, regress/Makefile.am,
	  regress/set_comment_revert.c, regress/set_comment_revert.test:
	  Add test for comment reverting via zip_unchange_all, and fix a
	  bug it found.

2006-04-23 15:14  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/Makefile.am, lib/zip_unchange_all.c,
	  lib/zip_unchange_archive.c, man/zip_unchange.mdoc,
	  man/zip_unchange_all.mdoc, man/zip_unchange_archive.mdoc: Add
	  zip_unchange_archive.

2006-04-23 15:06  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip.h, lib/zip_get_archive_comment.c,
	  lib/zip_get_file_comment.c, man/zip_get_archive_comment.mdoc,
	  man/zip_get_file_comment.mdoc, regress/Makefile.am,
	  regress/get_comment.c: Add flags argument to zip_get_*_comment,
	  requested by dillo.

2006-04-23 15:06  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip_set_file_comment.c: Test idx argument validity.

2006-04-23 15:05  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip_close.c: Improve some comments, and remove a superfluous
	  free.

2006-04-23 14:50  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/: libzip.man, zip_error_get.man, zip_get_archive_comment.man,
	  zip_get_file_comment.man, zip_get_name.man,
	  zip_set_archive_comment.man, zip_set_file_comment.man: regen

2006-04-23 14:50  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/libzip.mdoc: Link zip_set_{archive,file}_comment. Bump date.

2006-04-23 14:47  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/: Makefile.am, zip_set_archive_comment.mdoc,
	  zip_set_file_comment.mdoc: Document
	  zip_set_{archive,file}_comment.

2006-04-23 14:45  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/zip_get_file_comment.mdoc: Bump date for previous.

2006-04-23 14:44  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/: zip_get_file_comment.mdoc, zip_error_get.mdoc: Consistency
	  in argument naming.

2006-04-23 14:28  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/: set_comment_localonly.c, testchangedlocal.zip: Test
	  removing file comments too.

2006-04-23 14:25  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/: Makefile.am, set_comment.c, set_comment.test,
	  set_comment_all.c, set_comment_all.test, set_comment_localonly.c,
	  set_comment_localonly.test, testchangedlocal.zip: Rename
	  set_comment to set_comment_all, testing changing both global and
	  local comments.  Add test set_comment_localonly, testing changing
	  only local comments.

2006-04-23 12:13  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip_close.c: Put from code from zip_close in separate
	  functions.

2006-04-23 11:25  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip_close.c: Handle malloc/free correctly. Add some comments.

2006-04-23 02:40  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/: Makefile.am, zip.h, zip_close.c, zip_get_archive_comment.c,
	  zip_memdup.c, zip_new.c, zip_open.c, zip_set_archive_comment.c,
	  zip_set_file_comment.c, zip_unchange_all.c, zipint.h:
	  set_*_comment support.  XXX: there's a double free somewhere, but
	  I currently don't find its cause

2006-04-23 02:39  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/: Makefile.am, comment.c, comment.test, get_comment.c,
	  get_comment.test, set_comment.c, set_comment.test,
	  testchanged.zip: Add test for writing comments.  Rename previous
	  "comment" test to "get_comment" to make clear it's for reading.

2006-04-23 02:38  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/: add_from_buffer.test, add_from_file.test,
	  add_from_filep.test, fread.test, name_locate.test, open.test:
	  Adapt for runtest update.

2006-04-23 02:38  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/runtest: Sync with 1.22 from ckmame.

2006-04-09 23:45  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* TODO: Add some API ideas.

2006-04-09 21:05  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/Makefile.am, lib/zip.h, lib/zip_entry_free.c,
	  lib/zip_entry_new.c, lib/zip_get_archive_comment.c,
	  lib/zip_get_file_comment.c, lib/zip_open.c, lib/zip_unchange.c,
	  lib/zip_unchange_all.c, lib/zipint.h, man/Makefile.am,
	  man/libzip.mdoc, man/zip_get_archive_comment.mdoc,
	  man/zip_get_file_comment.mdoc, regress/Makefile.am,
	  regress/comment.c, regress/comment.test, regress/testcomment.zip:
	  Add read-only comment support: zip_get_file_comment to get the
	  comment for a file zip_get_archive_comment to get the comment for
	  the whole zip archive

	  Add documentation and regression test.

2006-04-09  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip_replace.c (_zip_replace): return idx of changed file,
	for zip_add.
	(zip_replace): return 0 on success, as before.
	* man/zip_add.mdoc: update.

	* lib/Makefile.am (libzip_la_SOURCES): bump libzip major.

	* lib/zip.h: add encryption_method to zip_stat.
	* man/zip_stat.mdoc: update docs.
	* lib/zip_stat_index.c (zip_stat_index): initialize encryption_method.

2006-03-25  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/zip_source_function.mdoc: fix return values; correct
	argument name. Noted by Tara Milana.

2005-07-20  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* man/zip_source_buffer.mdoc, man/zip_source_file.mdoc,
	man/zip_source_filep.mdoc, man/zip_source_function.mdoc,
	man/zip_source_zip.mdoc: fix return value.

2005-07-17  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/Makefile.am: enable add_from_filep test.
	* regress/add_from_filep.c, regress/add_from_filep.test: new
	testcase.

2005-07-16  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/runtest: fix typo in comment. Do not require args line.
	* regress/fread.c, regress/name_locate.c, regress/open.c,
	regress/fread.test, regress/name_locate.test, regress/open.test,
	regress/Makefile.am: convert remaining tests to new testing
	framework.

2005-07-15  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/Makefile.am: convert for new-style test cases
	* regress/add_from_file.c: add, based on add_from_buffer.c
	* regress/add_from_buffer.c: add, based on buffadd.c.
	* regress/buffadd.c: removed.
	* regress/runtest: add, based on ckmame's

2005-07-14  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* compile, depcomp, install-sh, missing, mkinstalldirs: update
	from automake-1.9.6.

	* configure.ac: bump version to 0.6.1

	* lib/zip_fread.c (zip_fread): remove unsigned.

2005-07-14  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/zip.h: make usable from C++. Patch from Heiko Hund.

2005-07-05  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* libzip.pc.in (zipcmp): Fix path to zipcmp.

2005-06-18  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip_close.c, lib/zip_dirent.c, lib/zip_fread.c,
	lib/zipint.h, src/zipcmp.c: fix some warnings with -Wsign-compare.

	* configure.ac, man/Makefile.am: smarter man page installation
	handling, avoiding symlinks.

2005-06-17  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* libzip.pc: return full path to zipcmp.

2005-06-09  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* configure.ac: bump version to 0.6

2005-06-09  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* regress/buffadd.c (main): check string length before comparing.
	* ltmain.sh: update from libtool-1.5.18.
	* compile, depcomp, install-sh, missing, mkinstalldirs: Update
	from automake-1.9.5.

2005-06-09  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/zip_source_zip.c (zip_source_zip): if reading uncompressed,
	set crc in stat buffer to 0.

	* lib/zip_close.c (ch_set_error): use ZIP_SOURCE_ERROR to get
	error code from source callback.
	
	* regress/Makefile.am: add srcdir to TESTS_ENVIRONMENT.
	* regress/mkname.c, regress/mkname.h: add.
	* regress/fread.c, regress/name_locate.c, regress/open.c: use
	mkname.

	* man/Makefile.am: fix DESTDIR support and uninstall.
	
2005-01-20  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/zip_get_name.c (_zip_get_name): return ZIP_ER_DELETED for
	deleted entries if ZIP_FL_UNCHANGED isn't set.

2005-01-11  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* lib/zip_name_locate.c (_zip_name_locate): fix ZIP_FL_NODIR;
	also follow appnote.txt and only accept forward slashes as
	directory separators.

2005-01-11  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/zip_fopen_index.c (zip_fopen_index), lib/zip_fread.c
	(zip_fread), lib/zip_fclose.c (zip_fclose): fix CRC checking for
	stored files.
	
	* lib/zip_new.c (_zip_new): init error.

	* lib/zip_error.c (_zip_error_get): set system error to 0 for
	ZIP_ET_NONE.

	* lib/zip_open.c (_zip_memdup): make static, use size_t for size
	argument, add error argument for passing error code back to
	caller.
	* lib/zip_open.c (_zip_readcdir): error out if _zip_memdup
	failes.
	
2004-12-28  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/zip_free.c (_zip_free): correctly set error of open
	files to ZIP_ER_ZIPCLOSED.

2004-12-22  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/zip.h: rename zip_read_func to zip_source_callback, struct
	zip_cmd to struct zip_source_cmd, and ZIP_CMD_* to ZIP_SOURCE_*;
	adapt users.
	
	* lib/zip_open.c (_zip_checkcons): always initialize variables

2004-12-22  Thomas Klausner <wiz@danbala.tuwien.ac.at>

	* zip.h: Rename zip_error_sys_type to zip_error_get_sys_type.
	Adapt callers and documentation.

2004-11-30  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/zip_get_name.c (zip_get_name): add flags argument.
	(_zip_get_name): new function.
	* lib/zip_uncange.c (zip_unchange): return error if unchanging
	name would result in duplicate name in archive.
	
	* lib/zip_name_locate.c (_zip_name_locate): new function.
	(zip_name_locate): move actual name lookup to _zip_name_locate.
	* lib/zip_set_name.c (_zip_set_name): don't allow duplicate names
	in archive; return error if name is NULL.
	* lib/zip_replace.c (_zip_replace): don't call _zip_set_name when
	name is NULL.
	* lib/zip_get_name.c (zip_get_name): fix when called with
	partially initialized entry.
	
2004-11-30  Thomas Klausner <wiz@danbala.tuwien.ac.at>

	* zipint.h: Include zip.h; add zlib.h.
	* zip.h: Remove zlib.h.
	* src/zipcmp.c: Add zlib.h.

	* zipint.h: Rename _zip_new_entry to _zip_entry_new;
	rename _zip_free_entry to _zip_entry_free; adapt users.

2004-11-18  Thomas Klausner <wiz@danbala.tuwien.ac.at>

	* zip.h: Rename zip_source_data to zip_source_buffer.
	Adapt users and documentation.

	* lib/zip_source_*: Verify user-supplied data.

	* zip.h: Rename zip_get_error to zip_error_get;
	rename zip_file_get_error to zip_file_error_get;
	rename zip_error_str to zip_error_to_str;
	replace various zip_add_* and zip_replace_* functions
	with zip_source_*.  Adapt users.  Update docs.

2004-11-17  Thomas Klausner <wiz@danbala.tuwien.ac.at>

	* zip.h: Rename ZERR_* to ZIP_ER_*; rename ZIP_ET_ZIP to
	ZIP_ET_ZLIB; remove ZIP_CH_ISCOMP from zip.h.  Adapt users.

2004-04-17  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/zip_replace_zip.c (_zip_replace_zip): set ZIP_CH_ISCOMP when
	copying compressed data.

	* lib/zip_fclose.c (zip_fclose): don't compare crc when reading
	compressed data.
	* lib/zip_fread.c (zip_fread): don't compute crc when reading
	compressed data.

2004-04-16  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/zip_name_locate.c (zip_name_locate): honour
	ZIP_FL_UNCHANGED, handle `\' for ZIP_FL_NODIR.

	* lib/zip_stat_index.c (zip_stat_index): return ZERR_INVAL if
	ZIP_FL_UNCHANGED is specified and file was added.  Honour
	ZIP_FL_UNCHANGED for name.  If file was changed and
	ZIP_FL_UNCHANGED is not given, call ch_func with command
	ZIP_CMD_STAT.

	* lib/zip_fopen_index.c (zip_fopen_index): return ZERR_INVAL if
	ZIP_FL_UNCHANGED is specified and file was added.
	
2004-04-14  Dieter Baron  <dillo@danbala.tuwien.ac.at>

        * TODO, lib/Makefile.am, lib/zip.h, lib/zip_add.c,
          lib/zip_add_data.c, lib/zip_add_file.c, lib/zip_add_filep.c,
          lib/zip_add_zip.c, lib/zip_close.c, lib/zip_delete.c,
          lib/zip_dirent.c, lib/zip_error.c, lib/zip_error_str.c,
          lib/zip_fclose.c, lib/zip_file_get_offset.c, lib/zip_fopen.c,
          lib/zip_fopen_index.c, lib/zip_fread.c, lib/zip_free.c,
          lib/zip_free_entry.c, lib/zip_free_meta.c, lib/zip_get_name.c,
          lib/zip_merge_meta.c, lib/zip_name_locate.c, lib/zip_new.c,
          lib/zip_new_entry.c, lib/zip_new_meta.c, lib/zip_open.c,
          lib/zip_rename.c, lib/zip_replace.c, lib/zip_replace_data.c,
          lib/zip_replace_file.c, lib/zip_replace_filep.c,
          lib/zip_replace_zip.c, lib/zip_set_name.c, lib/zip_stat.c,
          lib/zip_stat_index.c, lib/zip_unchange.c,
          lib/zip_unchange_data.c, lib/zipint.h, man/zip_fopen.man,
          man/zip_fopen.mdoc, man/zip_name_locate.man,
          man/zip_name_locate.mdoc, man/zip_stat.man, man/zip_stat.mdoc,
	  regress/buffadd.c, regress/open.c, src/zipcmp.c: Remove
	  zip_meta structure.

2003-12-30  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* src/zipcmp.c (compare_zip): use correct index.

2003-10-06  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/zip_unchange_all.c (zip_unchange_all): remove check for za
	!= NULL.

	* lib/zip_set_name.c (_zip_set_name): adapt to new error code
	handling.  clean up error handling.

2003-10-05  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/zip.h, lib/zipint.h: Don't expose struct zip, struct
	zip_file.
	* lib/zip_open.c (zip_open): new argument errp, use it to store
	error code.
	* lib/zip_error_str.c (zip_error_str): new function.
	* lib/zip_error_sys_type.c (zip_error_sys_type): new function.
	* lib/zip_get_num_files.c (zip_get_num_files): new function.
	* src/zipcmp.c (compare_zip): adapt to new API.

	* lib/zip.h, lib/zipint.h: Don't expose zip_err_str, rename to
	_zip_err_str.  Adapt users.
	
	* lib/zip_error.c(_zip_error_get): new function.
	* lib/zip_get_error.c (zip_get_error): new function.
	* lib/zip_file_get_error.c (zip_file_get_error): new function.
	
	* lib/zip.h (struct zip_stat): new struct.
	* lib/zip_stat.c (zip_stat): new function.
	* lib/zip_stat_index.c (zip_stat_index) new function.

	* lib/zip_error.c (_zip_error_set): new function.
	* lib/zip_name_locate.c (zip_name_locate): set za->error if name
	not found.
	
	* lib/zip.h: (struct zip_error): new struct.
	* lib/zip.h: (struct zip, struct zip_file): add new member error.
	* lib/zip.h, lib/zipint.h, lib/make_zip_err_str.sh: add
	_zip_err_errno.
	* lib/zip_error.c (_zip_error_fini, _zip_error_init): new
	functions.
	* lib/zip_error_strerror.c (_zip_error_strerror): new function.
	* lib/zip_file_strerror.c (zip_file_strerror): new function.
	* lib/zip_strerror.c (zip_strerror): new function.

2003-10-04  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* lib/zip.h, lib/make_zip_err_str.sh: make zip_err_str const.

	* src/zipcmp.c (entry_cmp, main): add -i flag (compare names
	ignoring case distinctions). 

2003-10-01  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* src/zipcmp.c (compare_zip): exit with 2 in case of error.

2003-01-30  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* configure.ac: bump to 0.5.

	* libzip/tests/buffadd.c: include <string.h>.
	* libzip/zip_replace_data.c: include <string.h>.

2001-10-27  Dieter Baron  <dillo@danbala.tuwien.ac.at>

	* libzip/zip_replace_zip.c (read_part): fix typo: pass correct
	length to zip_read()

2001-10-20  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* libzip/zip_open.c (_zip_readcdir): Work around some broken zip
	files.

2000-11-05  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* libzip/Makefile.am: install public header file

2000-11-04  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* zip/Makefile.am, libzip/tests/Makefile.am: make libzip
	shared by using libtool
	* config.guess, config.sub, libtool.m4, ltconfig, ltmain.sh: new
	files for above

	* libzip/Makefile.am, zip.h: add zip_get_name
	* libzip/zip_get_name.c: new file

	* libzip/tests/ziptest.c (main): add some '\n'

1999-10-05  Thomas Klausner  <wiz@danbala.tuwien.ac.at>

	* libzip/zip_close.c (zip_close): make zip_close work under DOS,
	free zip structure for temp file
