Type cleanup, internally and in the API.  Fixes most llvm warnings.
diff --git a/API-CHANGES b/API-CHANGES
index 9da981d..fd1b5fd 100644
--- a/API-CHANGES
+++ b/API-CHANGES
@@ -5,6 +5,8 @@
 All old flags fit; you need to adapt if you were saving flags in a
 local variable. Use zip_flags_t for such a variable.
 
+** ZIP_FL_*, ZIP_AFL_* are now unsigned constants
+
 * integer type size changes
 
 Some return values were not the right size or sign.
@@ -12,6 +14,8 @@
 ** zip_name_locate()
 Return value was int, which can be too small. Now returns zip_int64_t.
 
+** zip_get_archive_flag(), zip_set_archive_flag()
+flag argument now unsigned int
 
 TO DOCUMENT:
   . _set_name allows NULL (document)
@@ -20,3 +24,4 @@
   . document ZIP_DISABLE_DEPRECATED (libzip man page)
   . renames of zip_add, zip_rename, zip_replace, zip_add_dir, zip_{set,get}_file_comment
   . NULL is now allowed for file names (zip_add, zip_add_dir, zip_rename)
+
diff --git a/NEWS b/NEWS
index ea0ce92..940877e 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,7 @@
 * Added ZIP_TRUNCATE for zip_open()
 * Added zip_set_file_compression()
 * Added API for accessing and modifying extra fields
+* Improved API type consistency
 * Use gcc4's visibility __attribute__
 * More changes for Windows support
 * Additional test cases
diff --git a/TODO b/TODO
index 751db29..e043622 100644
--- a/TODO
+++ b/TODO
@@ -9,6 +9,7 @@
 
 API Issues
 ==========
+! zip_get_archive_comment has int *lenp argument.  Cleaner would be zip_uint32_t *.
 * compression/crypt implementations: how to set error code on failure
 * compression/crypt error messages a la ZIP_ER_ZLIB (no detailed info passing)
 * check arguments for every entry point into libzip
@@ -47,6 +48,7 @@
 
 Bugs
 ====
+! update man pages for API type cleanup
 ! zip_file_extra_field_{delete,set}*: use dirent changes (create if neccessary)
 ! check inconsistent file test case result
 ! decide if open_filename_duplicate.test is ok or should report an error
diff --git a/lib/zip.h b/lib/zip.h
index 2d283fe..3af946d 100644
--- a/lib/zip.h
+++ b/lib/zip.h
@@ -66,26 +66,26 @@
 
 /* flags for zip_name_locate, zip_fopen, zip_stat, ... */
 
-#define ZIP_FL_NOCASE		1 /* ignore case on name lookup */
-#define ZIP_FL_NODIR		2 /* ignore directory component */
-#define ZIP_FL_COMPRESSED	4 /* read compressed data */
-#define ZIP_FL_UNCHANGED	8 /* use original data, ignoring changes */
-#define ZIP_FL_RECOMPRESS      16 /* force recompression of data */
-#define ZIP_FL_ENCRYPTED       32 /* read encrypted data (implies ZIP_FL_COMPRESSED) */
-#define ZIP_FL_ENC_GUESS        0 /* guess string encoding (is default) */
-#define ZIP_FL_ENC_RAW         64 /* get unmodified string */
-#define ZIP_FL_ENC_STRICT     128 /* follow specification strictly */
-#define ZIP_FL_LOCAL	      256 /* in local header */
-#define ZIP_FL_CENTRAL	      512 /* in central directory */
-/*                           1024    reserved for internal use */
-#define ZIP_FL_ENC_UTF_8     2048 /* string is UTF-8 encoded */
-#define ZIP_FL_ENC_CP437     4096 /* string is CP437 encoded */
-#define ZIP_FL_OVERWRITE     8192 /* zip_file_add: if file with name exists, overwrite (replace) it */
+#define ZIP_FL_NOCASE		1u /* ignore case on name lookup */
+#define ZIP_FL_NODIR		2u /* ignore directory component */
+#define ZIP_FL_COMPRESSED	4u /* read compressed data */
+#define ZIP_FL_UNCHANGED	8u /* use original data, ignoring changes */
+#define ZIP_FL_RECOMPRESS      16u /* force recompression of data */
+#define ZIP_FL_ENCRYPTED       32u /* read encrypted data (implies ZIP_FL_COMPRESSED) */
+#define ZIP_FL_ENC_GUESS        0u /* guess string encoding (is default) */
+#define ZIP_FL_ENC_RAW         64u /* get unmodified string */
+#define ZIP_FL_ENC_STRICT     128u /* follow specification strictly */
+#define ZIP_FL_LOCAL	      256u /* in local header */
+#define ZIP_FL_CENTRAL	      512u /* in central directory */
+/*                           1024u    reserved for internal use */
+#define ZIP_FL_ENC_UTF_8     2048u /* string is UTF-8 encoded */
+#define ZIP_FL_ENC_CP437     4096u /* string is CP437 encoded */
+#define ZIP_FL_OVERWRITE     8192u /* zip_file_add: if file with name exists, overwrite (replace) it */
 
 /* archive global flags flags */
 
-#define ZIP_AFL_TORRENT		1 /* torrent zipped */
-#define ZIP_AFL_RDONLY		2 /* read only -- cannot be cleared */
+#define ZIP_AFL_TORRENT		1u /* torrent zipped */
+#define ZIP_AFL_RDONLY		2u /* read only -- cannot be cleared */
 
 
 /* create a new extra field */
@@ -190,15 +190,15 @@
 
 #define ZIP_SOURCE_ERR_LOWER	-2
 
-#define ZIP_STAT_NAME			0x0001
-#define ZIP_STAT_INDEX			0x0002
-#define ZIP_STAT_SIZE			0x0004
-#define ZIP_STAT_COMP_SIZE		0x0008
-#define ZIP_STAT_MTIME			0x0010
-#define ZIP_STAT_CRC			0x0020
-#define ZIP_STAT_COMP_METHOD		0x0040
-#define ZIP_STAT_ENCRYPTION_METHOD	0x0080
-#define ZIP_STAT_FLAGS			0x0100
+#define ZIP_STAT_NAME			0x0001u
+#define ZIP_STAT_INDEX			0x0002u
+#define ZIP_STAT_SIZE			0x0004u
+#define ZIP_STAT_COMP_SIZE		0x0008u
+#define ZIP_STAT_MTIME			0x0010u
+#define ZIP_STAT_CRC			0x0020u
+#define ZIP_STAT_COMP_METHOD		0x0040u
+#define ZIP_STAT_ENCRYPTION_METHOD	0x0080u
+#define ZIP_STAT_FLAGS			0x0100u
 
 struct zip_stat {
     zip_uint64_t valid;			/* which fields have valid values */
@@ -228,6 +228,7 @@
 ZIP_EXTERN zip_int64_t zip_add(struct zip *, const char *, struct zip_source *); /* use zip_file_add */
 ZIP_EXTERN zip_int64_t zip_add_dir(struct zip *, const char *); /* use zip_dir_add */
 ZIP_EXTERN const char *zip_get_file_comment(struct zip *, zip_uint64_t, int *, int); /* use zip_file_get_comment */
+ZIP_EXTERN int zip_get_num_files(struct zip *);  /* use zip_get_num_entries instead */
 ZIP_EXTERN int zip_rename(struct zip *, zip_uint64_t, const char *); /* use zip_file_rename */
 ZIP_EXTERN int zip_replace(struct zip *, zip_uint64_t, struct zip_source *); /* use zip_file_replace */
 ZIP_EXTERN int zip_set_file_comment(struct zip *, zip_uint64_t, const char *, int); /* use zip_file_set_comment */
@@ -249,27 +250,26 @@
 ZIP_EXTERN void zip_file_error_clear(struct zip_file *);
 ZIP_EXTERN void zip_file_error_get(struct zip_file *, int *, int *);
 ZIP_EXTERN const char *zip_file_strerror(struct zip_file *);
-ZIP_EXTERN struct zip_file *zip_fopen(struct zip *, const char *, int);
-ZIP_EXTERN struct zip_file *zip_fopen_encrypted(struct zip *, const char *, int, const char *);
-ZIP_EXTERN struct zip_file *zip_fopen_index(struct zip *, zip_uint64_t, int);
-ZIP_EXTERN struct zip_file *zip_fopen_index_encrypted(struct zip *, zip_uint64_t, int, const char *);
+ZIP_EXTERN struct zip_file *zip_fopen(struct zip *, const char *, zip_flags_t);
+ZIP_EXTERN struct zip_file *zip_fopen_encrypted(struct zip *, const char *, zip_flags_t, const char *);
+ZIP_EXTERN struct zip_file *zip_fopen_index(struct zip *, zip_uint64_t, zip_flags_t);
+ZIP_EXTERN struct zip_file *zip_fopen_index_encrypted(struct zip *, zip_uint64_t, zip_flags_t, const char *);
 ZIP_EXTERN zip_int64_t zip_fread(struct zip_file *, void *, zip_uint64_t);
-ZIP_EXTERN const char *zip_get_archive_comment(struct zip *, int *, int);
-ZIP_EXTERN int zip_get_archive_flag(struct zip *, int, int);
+ZIP_EXTERN const char *zip_get_archive_comment(struct zip *, int *, zip_flags_t);
+ZIP_EXTERN int zip_get_archive_flag(struct zip *, zip_flags_t, zip_flags_t);
 ZIP_EXTERN const char *zip_file_get_comment(struct zip *, zip_uint64_t, zip_uint32_t *, zip_flags_t);
 ZIP_EXTERN const zip_uint8_t *zip_file_extra_field_get(struct zip *, zip_uint64_t, zip_uint16_t, zip_uint16_t *, zip_uint16_t *, zip_flags_t);
 ZIP_EXTERN const zip_uint8_t *zip_file_extra_field_get_by_id(struct zip *, zip_uint64_t, zip_uint16_t, zip_uint16_t, zip_uint16_t *, zip_flags_t);
 ZIP_EXTERN zip_int16_t zip_file_extra_fields_count(struct zip *, zip_uint64_t, zip_flags_t);
 ZIP_EXTERN zip_int16_t zip_file_extra_fields_count_by_id(struct zip *, zip_uint64_t, zip_uint16_t, zip_flags_t);
-ZIP_EXTERN const char *zip_get_name(struct zip *, zip_uint64_t, int);
-ZIP_EXTERN zip_uint64_t zip_get_num_entries(struct zip *, int);
-ZIP_EXTERN int zip_get_num_files(struct zip *);  /* deprecated, use zip_get_num_entries instead */
-ZIP_EXTERN int zip_name_locate(struct zip *, const char *, int);
+ZIP_EXTERN const char *zip_get_name(struct zip *, zip_uint64_t, zip_flags_t);
+ZIP_EXTERN zip_int64_t zip_get_num_entries(struct zip *, zip_flags_t);
+ZIP_EXTERN zip_int64_t zip_name_locate(struct zip *, const char *, zip_flags_t);
 ZIP_EXTERN struct zip *zip_open(const char *, int, int *);
 ZIP_EXTERN int zip_file_rename(struct zip *, zip_uint64_t, const char *, zip_flags_t);
 ZIP_EXTERN int zip_file_replace(struct zip *, zip_uint64_t, struct zip_source *, zip_flags_t);
-ZIP_EXTERN int zip_set_archive_comment(struct zip *, const char *, int);
-ZIP_EXTERN int zip_set_archive_flag(struct zip *, int, int);
+ZIP_EXTERN int zip_set_archive_comment(struct zip *, const char *, zip_uint16_t);
+ZIP_EXTERN int zip_set_archive_flag(struct zip *, zip_flags_t, int);
 ZIP_EXTERN int zip_set_default_password(struct zip *, const char *);
 ZIP_EXTERN int zip_file_set_comment(struct zip *, zip_uint64_t, const char *, zip_uint16_t, zip_flags_t);
 ZIP_EXTERN int zip_set_file_compression(struct zip *, zip_uint64_t, zip_int32_t, zip_uint32_t);
@@ -279,9 +279,9 @@
 ZIP_EXTERN struct zip_source *zip_source_filep(struct zip *, FILE *, zip_uint64_t, zip_int64_t);
 ZIP_EXTERN void zip_source_free(struct zip_source *);
 ZIP_EXTERN struct zip_source *zip_source_function(struct zip *, zip_source_callback, void *);
-ZIP_EXTERN struct zip_source *zip_source_zip(struct zip *, struct zip *, zip_uint64_t, int, zip_uint64_t, zip_int64_t);
-ZIP_EXTERN int zip_stat(struct zip *, const char *, int, struct zip_stat *);
-ZIP_EXTERN int zip_stat_index(struct zip *, zip_uint64_t, int, struct zip_stat *);
+ZIP_EXTERN struct zip_source *zip_source_zip(struct zip *, struct zip *, zip_uint64_t, zip_flags_t, zip_uint64_t, zip_int64_t);
+ZIP_EXTERN int zip_stat(struct zip *, const char *, zip_flags_t, struct zip_stat *);
+ZIP_EXTERN int zip_stat_index(struct zip *, zip_uint64_t, zip_flags_t, struct zip_stat *);
 ZIP_EXTERN void zip_stat_init(struct zip_stat *);
 ZIP_EXTERN const char *zip_strerror(struct zip *);
 ZIP_EXTERN int zip_unchange(struct zip *, zip_uint64_t);
diff --git a/lib/zip_close.c b/lib/zip_close.c
index a87820f..098cf10 100644
--- a/lib/zip_close.c
+++ b/lib/zip_close.c
@@ -55,9 +55,9 @@
 #define MAX_DEFLATE_SIZE_32	4293656963
 
 static int add_data(struct zip *, struct zip_source *, struct zip_dirent *, FILE *);
-static int copy_data(FILE *, off_t, FILE *, struct zip_error *);
+static int copy_data(FILE *, zip_uint64_t, FILE *, struct zip_error *);
 static int copy_source(struct zip *, struct zip_source *, FILE *);
-static int write_cdir(struct zip *, const struct zip_filelist *, int, FILE *);
+static int write_cdir(struct zip *, const struct zip_filelist *, zip_uint64_t, FILE *);
 static char *_zip_create_temp_output(struct zip *, FILE **);
 static int _zip_torrentzip_cmp(const void *, const void *);
 
@@ -66,8 +66,8 @@
 ZIP_EXTERN int
 zip_close(struct zip *za)
 {
-    int survivors;
-    int i, j, error;
+    zip_uint64_t i, j, survivors;
+    int error;
     char *temp;
     FILE *out;
 #ifndef _WIN32
@@ -168,14 +168,14 @@
 	    _zip_dirent_torrent_normalize(entry->changes);
 
 
-	de->offset = ftello(out);
+	de->offset = (zip_uint64_t)ftello(out); /* XXX: check for errors */
 
 	if (new_data) {
 	    struct zip_source *zs;
 
 	    zs = NULL;
 	    if (!ZIP_ENTRY_DATA_CHANGED(entry)) {
-		if ((zs=_zip_source_zip_new(za, za, i, ZIP_FL_UNCHANGED, 0, -1, NULL)) == NULL) {
+		if ((zs=_zip_source_zip_new(za, za, i, ZIP_FL_UNCHANGED, 0, 0, NULL)) == NULL) {
 		    error = 1;
 		    break;
 		}
@@ -427,24 +427,26 @@
 
 
 static int
-copy_data(FILE *fs, off_t len, FILE *ft, struct zip_error *error)
+copy_data(FILE *fs, zip_uint64_t len, FILE *ft, struct zip_error *error)
 {
     char buf[BUFSIZE];
-    int n, nn;
+    size_t n, nn;
 
     if (len == 0)
 	return 0;
 
     while (len > 0) {
 	nn = len > sizeof(buf) ? sizeof(buf) : len;
-	if ((n=fread(buf, 1, nn, fs)) < 0) {
-	    _zip_error_set(error, ZIP_ER_READ, errno);
-	    return -1;
-	}
-	else if (n == 0) {
-	    _zip_error_set(error, ZIP_ER_EOF, 0);
-	    return -1;
-	}
+	if ((n=fread(buf, 1, nn, fs)) == 0) {
+            if (ferror(fs)) {
+                _zip_error_set(error, ZIP_ER_READ, errno);
+                return -1;
+            }
+            else {
+                _zip_error_set(error, ZIP_ER_EOF, 0);
+                return -1;
+            }
+        }
 
 	if (fwrite(buf, 1, n, ft) != (size_t)n) {
 	    _zip_error_set(error, ZIP_ER_WRITE, errno);
@@ -473,7 +475,7 @@
 
     ret = 0;
     while ((n=zip_source_read(src, buf, sizeof(buf))) > 0) {
-	if (fwrite(buf, 1, n, ft) != (size_t)n) {
+	if (fwrite(buf, 1, (size_t)n, ft) != (size_t)n) {
 	    _zip_error_set(&za->error, ZIP_ER_WRITE, errno);
 	    ret = -1;
 	    break;
@@ -494,7 +496,7 @@
 
 
 static int
-write_cdir(struct zip *za, const struct zip_filelist *filelist, int survivors, FILE *out)
+write_cdir(struct zip *za, const struct zip_filelist *filelist, zip_uint64_t survivors, FILE *out)
 {
     off_t cd_start, end;
     zip_int64_t size;
@@ -535,11 +537,13 @@
 
 
 int
-_zip_changed(struct zip *za, int *survivorsp)
+_zip_changed(struct zip *za, zip_uint64_t *survivorsp)
 {
-    int changed, i, survivors;
+    int changed;
+    zip_uint64_t i, survivors;
 
-    changed = survivors = 0;
+    changed = 0;
+    survivors = 0;
 
     if (za->comment_changed || za->ch_flags != za->flags)
 	changed = 1;
diff --git a/lib/zip_dir_add.c b/lib/zip_dir_add.c
index a55b10c..0a74bd6 100644
--- a/lib/zip_dir_add.c
+++ b/lib/zip_dir_add.c
@@ -45,7 +45,7 @@
 ZIP_EXTERN zip_int64_t
 zip_dir_add(struct zip *za, const char *name, zip_flags_t flags)
 {
-    int len;
+    size_t len;
     zip_int64_t ret;
     char *s;
     struct zip_source *source;
diff --git a/lib/zip_dirent.c b/lib/zip_dirent.c
index 5478b0b..9425136 100644
--- a/lib/zip_dirent.c
+++ b/lib/zip_dirent.c
@@ -52,7 +52,7 @@
 void
 _zip_cdir_free(struct zip_cdir *cd)
 {
-    int i;
+    zip_uint64_t i;
 
     if (!cd)
 	return;
@@ -67,10 +67,10 @@
 
 
 int
-_zip_cdir_grow(struct zip_cdir *cd, int nentry, struct zip_error *error)
+_zip_cdir_grow(struct zip_cdir *cd, zip_uint64_t nentry, struct zip_error *error)
 {
     struct zip_entry *entry;
-    int i;
+    zip_uint64_t i;
 
     if (nentry < cd->nentry_alloc) {
 	_zip_error_set(error, ZIP_ER_INTERNAL, 0);
@@ -98,10 +98,10 @@
 
 
 struct zip_cdir *
-_zip_cdir_new(int nentry, struct zip_error *error)
+_zip_cdir_new(zip_uint64_t nentry, struct zip_error *error)
 {
     struct zip_cdir *cd;
-    int i;
+    zip_uint64_t i;
     
     if ((cd=(struct zip_cdir *)malloc(sizeof(*cd))) == NULL) {
 	_zip_error_set(error, ZIP_ER_MEMORY, 0);
@@ -129,15 +129,20 @@
 
 
 zip_int64_t
-_zip_cdir_write(struct zip *za, const struct zip_filelist *filelist, int survivors, FILE *fp)
+_zip_cdir_write(struct zip *za, const struct zip_filelist *filelist, zip_uint64_t survivors, FILE *fp)
 {
+    off_t off;
     zip_uint64_t offset, size;
     struct zip_string *comment;
-    int i;
+    zip_uint64_t i;
     int is_zip64;
     int ret;
 
-    offset = ftello(fp);
+    if ((off=ftello(fp)) < 0) {
+        _zip_error_set(&za->error, ZIP_ER_READ, errno);
+        return -1;
+    }
+    offset = (zip_uint64_t)off;
 
     is_zip64 = 0;
 
@@ -150,7 +155,11 @@
 	    is_zip64 = 1;
     }
 
-    size = ftello(fp) - offset;
+    if ((off=ftello(fp)) < 0) {
+        _zip_error_set(&za->error, ZIP_ER_READ, errno);
+        return -1;
+    }
+    size = (zip_uint64_t)off - offset;
 
     if (offset > ZIP_UINT32_MAX || survivors > ZIP_UINT16_MAX)
 	is_zip64 = 1;
@@ -177,10 +186,10 @@
     /* clearerr(fp); */
     fwrite(EOCD_MAGIC, 1, 4, fp);
     _zip_write4(0, fp);
-    _zip_write2(survivors >= ZIP_UINT16_MAX ? ZIP_UINT16_MAX : survivors, fp);
-    _zip_write2(survivors >= ZIP_UINT16_MAX ? ZIP_UINT16_MAX : survivors, fp);
-    _zip_write4(size >= ZIP_UINT32_MAX ? ZIP_UINT32_MAX : size, fp);
-    _zip_write4(offset >= ZIP_UINT32_MAX ? ZIP_UINT32_MAX : offset, fp);
+    _zip_write2(survivors >= ZIP_UINT16_MAX ? ZIP_UINT16_MAX : (zip_uint16_t)survivors, fp);
+    _zip_write2(survivors >= ZIP_UINT16_MAX ? ZIP_UINT16_MAX : (zip_uint16_t)survivors, fp);
+    _zip_write4(size >= ZIP_UINT32_MAX ? ZIP_UINT32_MAX : (zip_uint32_t)size, fp);
+    _zip_write4(offset >= ZIP_UINT32_MAX ? ZIP_UINT32_MAX : (zip_uint32_t)offset, fp);
 
     comment = za->comment_changed ? za->comment_changes : za->comment_orig;
 
@@ -193,7 +202,7 @@
 	return -1;
     }
 
-    return size;
+    return (zip_int64_t)size;
 }
 
 
@@ -321,7 +330,7 @@
     const unsigned char *cur;
     unsigned short dostime, dosdate;
     zip_uint32_t size;
-    zip_uint32_t filename_len, ef_len, comment_len;
+    zip_uint16_t filename_len, comment_len, ef_len;
 
     if (local)
 	size = LENTRYSIZE;
@@ -447,9 +456,9 @@
     /* Zip64 */
 
     if (zde->uncomp_size == ZIP_UINT32_MAX || zde->comp_size == ZIP_UINT32_MAX || zde->offset == ZIP_UINT32_MAX) {
-	zip_uint16_t ef_len, needed_len;
-	const zip_uint8_t *ef = _zip_ef_get_by_id(zde->extra_fields, &ef_len, ZIP_EF_ZIP64, 0, local ? ZIP_EF_LOCAL : ZIP_EF_CENTRAL, error);
-	/* XXX: if ef_len == 0 && !ZIP64_EOCD: no error, 0xffffffff is valid value */
+	zip_uint16_t got_len, needed_len;
+	const zip_uint8_t *ef = _zip_ef_get_by_id(zde->extra_fields, &got_len, ZIP_EF_ZIP64, 0, local ? ZIP_EF_LOCAL : ZIP_EF_CENTRAL, error);
+	/* XXX: if got_len == 0 && !ZIP64_EOCD: no error, 0xffffffff is valid value */
 	if (ef == NULL)
 	    return -1;
 
@@ -460,7 +469,7 @@
 	    needed_len = ((zde->uncomp_size == ZIP_UINT32_MAX) + (zde->comp_size == ZIP_UINT32_MAX) + (zde->offset == ZIP_UINT32_MAX)) * 8
 		+ (zde->disk_number == ZIP_UINT16_MAX) * 4;
 
-	if (ef_len != needed_len) {
+	if (got_len != needed_len) {
 	    _zip_error_set(error, ZIP_ER_INCONS, 0);
 	    return -1;
 	}
@@ -617,10 +626,9 @@
 */
 
 int
-_zip_dirent_write(struct zip_dirent *de, FILE *fp, int flags, struct zip_error *error)
+_zip_dirent_write(struct zip_dirent *de, FILE *fp, zip_flags_t flags, struct zip_error *error)
 {
     unsigned short dostime, dosdate;
-    zip_uint16_t zip64_ef_size;
     enum zip_encoding_type com_enc, name_enc;
     struct zip_extra_field *ef;
     zip_uint8_t ef_zip64[24], *ef_zip64_p;
@@ -677,7 +685,7 @@
     }
 
     if (ef_zip64_p != ef_zip64) {
-	struct zip_extra_field *ef64 = _zip_ef_new(ZIP_EF_ZIP64, ef_zip64_p-ef_zip64, ef_zip64, ZIP_EF_BOTH);
+	struct zip_extra_field *ef64 = _zip_ef_new(ZIP_EF_ZIP64, (zip_uint16_t)(ef_zip64_p-ef_zip64), ef_zip64, ZIP_EF_BOTH);
 	ef64->next = ef;
 	ef = ef64;
 	is_zip64 = 1;
@@ -692,7 +700,7 @@
 	_zip_write2(is_really_zip64 ? 45 : de->version_madeby, fp);
     _zip_write2(is_really_zip64 ? 45 : de->version_needed, fp);
     _zip_write2(de->bitflags&0xfff9, fp); /* clear compression method specific flags */
-    _zip_write2(de->comp_method, fp);
+    _zip_write2((zip_uint16_t)de->comp_method, fp); /* XXX: can it be ZIP_CM_DEFAULT? */
 
     _zip_u2d_time(de->last_mod, &dostime, &dosdate);
     _zip_write2(dostime, fp);
@@ -700,11 +708,11 @@
 
     _zip_write4(de->crc, fp);
     if (de->comp_size < ZIP_UINT32_MAX)
-	_zip_write4(de->comp_size, fp);
+	_zip_write4((zip_uint32_t)de->comp_size, fp);
     else
 	_zip_write4(ZIP_UINT32_MAX, fp);
     if (de->uncomp_size < ZIP_UINT32_MAX)
-	_zip_write4(de->uncomp_size, fp);
+	_zip_write4((zip_uint32_t)de->uncomp_size, fp);
     else
 	_zip_write4(ZIP_UINT32_MAX, fp);
 
@@ -713,11 +721,11 @@
     
     if ((flags & ZIP_FL_LOCAL) == 0) {
 	_zip_write2(_zip_string_length(de->comment), fp);
-	_zip_write2(de->disk_number, fp);
+	_zip_write2((zip_uint16_t)de->disk_number, fp);
 	_zip_write2(de->int_attrib, fp);
 	_zip_write4(de->ext_attrib, fp);
 	if (de->offset < ZIP_UINT32_MAX)
-	    _zip_write4(de->offset, fp);
+	    _zip_write4((zip_uint32_t)de->offset, fp);
 	else
 	    _zip_write4(ZIP_UINT32_MAX, fp);
     }
@@ -780,6 +788,10 @@
 
     raw = _zip_string_get(str, &len, ZIP_FL_ENC_RAW, NULL);
 
+    if (len+5 > ZIP_UINT16_MAX) {
+        /* XXX: error */
+    }
+    
     if ((data=malloc(len+5)) == NULL) {
 	_zip_error_set(error, ZIP_ER_MEMORY, 0);
 	return NULL;
@@ -791,7 +803,7 @@
     memcpy(p, raw, len);
     p += len;
 
-    ef = _zip_ef_new(id, p-data, data, ZIP_EF_BOTH);
+    ef = _zip_ef_new(id, (zip_uint16_t)(p-data), data, ZIP_EF_BOTH);
     free(data);
     return ef;
 }
@@ -799,7 +811,7 @@
 
 
 struct zip_dirent *
-_zip_get_dirent(struct zip *za, zip_uint64_t idx, int flags, struct zip_error *error)
+_zip_get_dirent(struct zip *za, zip_uint64_t idx, zip_flags_t flags, struct zip_error *error)
 {
     if (error == NULL)
 	error = &za->error;
@@ -827,11 +839,11 @@
 
 
 zip_uint16_t
-_zip_read2(const unsigned char **a)
+_zip_read2(const zip_uint8_t **a)
 {
     zip_uint16_t ret;
 
-    ret = (*a)[0]+((*a)[1]<<8);
+    ret = (zip_uint16_t)((*a)[0]+((*a)[1]<<8));
     *a += 2;
 
     return ret;
@@ -840,11 +852,11 @@
 
 
 zip_uint32_t
-_zip_read4(const unsigned char **a)
+_zip_read4(const zip_uint8_t **a)
 {
     zip_uint32_t ret;
 
-    ret = ((((((*a)[3]<<8)+(*a)[2])<<8)+(*a)[1])<<8)+(*a)[0];
+    ret = ((((((zip_uint32_t)(*a)[3]<<8)+(*a)[2])<<8)+(*a)[1])<<8)+(*a)[0];
     *a += 4;
 
     return ret;
@@ -853,13 +865,13 @@
 
 
 zip_uint64_t
-_zip_read8(const unsigned char **a)
+_zip_read8(const zip_uint8_t **a)
 {
     zip_uint64_t x, y;
 
     x = ((((((zip_uint64_t)(*a)[3]<<8)+(*a)[2])<<8)+(*a)[1])<<8)+(*a)[0];
     *a += 4;
-    y = (((((((*a)[3]<<8)+(*a)[2])<<8)+(*a)[1])<<8)+(*a)[0]);
+    y = ((((((zip_uint64_t)(*a)[3]<<8)+(*a)[2])<<8)+(*a)[1])<<8)+(*a)[0];
     *a += 4;
 
     return x+(y<<32);
@@ -868,7 +880,7 @@
 
 
 zip_uint8_t *
-_zip_read_data(const unsigned char **buf, FILE *fp, int len, int nulp, struct zip_error *error)
+_zip_read_data(const zip_uint8_t **buf, FILE *fp, size_t len, int nulp, struct zip_error *error)
 {
     zip_uint8_t *r, *o;
 
@@ -907,7 +919,7 @@
 
 
 static struct zip_string *
-_zip_read_string(const unsigned char **buf, FILE *fp, zip_uint16_t len, int nulp, struct zip_error *error)
+_zip_read_string(const zip_uint8_t **buf, FILE *fp, zip_uint16_t len, int nulp, struct zip_error *error)
 {
     zip_uint8_t *raw;
     struct zip_string *s;
@@ -990,15 +1002,13 @@
 
 
 void
-_zip_u2d_time(time_t time, unsigned short *dtime, unsigned short *ddate)
+_zip_u2d_time(time_t time, zip_uint16_t *dtime, zip_uint16_t *ddate)
 {
     struct tm *tm;
 
     tm = localtime(&time);
-    *ddate = ((tm->tm_year+1900-1980)<<9) + ((tm->tm_mon+1)<<5)
-	+ tm->tm_mday;
-    *dtime = ((tm->tm_hour)<<11) + ((tm->tm_min)<<5)
-	+ ((tm->tm_sec)>>1);
+    *ddate = (zip_uint16_t)(((tm->tm_year+1900-1980)<<9) + ((tm->tm_mon+1)<<5) + tm->tm_mday);
+    *dtime = (zip_uint16_t)(((tm->tm_hour)<<11) + ((tm->tm_min)<<5) + ((tm->tm_sec)>>1));
 
     return;
 }
diff --git a/lib/zip_discard.c b/lib/zip_discard.c
index 29aa25e..37ba8c2 100644
--- a/lib/zip_discard.c
+++ b/lib/zip_discard.c
@@ -46,7 +46,7 @@
 void
 zip_discard(struct zip *za)
 {
-    int i;
+    zip_uint64_t i;
 
     if (za == NULL)
 	return;
diff --git a/lib/zip_extra_field.c b/lib/zip_extra_field.c
index 523410c..5ce002a 100644
--- a/lib/zip_extra_field.c
+++ b/lib/zip_extra_field.c
@@ -195,23 +195,23 @@
     zip_uint16_t fid, flen;
 
     ef_head = NULL;
-    for (p=data; p<data+len; p+=flen+4) {
+    for (p=data; p<data+len; p+=flen) {
 	if (p+4 > data+len) {
 	    _zip_error_set(error, ZIP_ER_INCONS, 0);
 	    _zip_ef_free(ef_head);
 	    return NULL;
 	}
 
-	fid = p[0]+(p[1]<<8);
-	flen = p[2]+(p[3]<<8);
+	fid = _zip_read2(&p);
+	flen = _zip_read2(&p);
 
-	if (p+flen+4 > data+len) {
+	if (p+flen > data+len) {
 	    _zip_error_set(error, ZIP_ER_INCONS, 0);
 	    _zip_ef_free(ef_head);
 	    return NULL;
 	}
 
-	if ((ef2=_zip_ef_new(fid, flen, p+4, flags)) == NULL) {
+	if ((ef2=_zip_ef_new(fid, flen, p, flags)) == NULL) {
 	    _zip_error_set(error, ZIP_ER_MEMORY, 0);
 	    _zip_ef_free(ef_head);
 	    return NULL;
@@ -262,7 +262,7 @@
 
 
 int
-_zip_read_local_ef(struct zip *za, int idx)
+_zip_read_local_ef(struct zip *za, zip_uint64_t idx)
 {
     struct zip_entry *e;
     unsigned char b[4];
@@ -281,8 +281,9 @@
     if (e->orig == NULL || e->orig->local_extra_fields_read)
 	return 0;
 
-    
-    if (fseek(za->zp, e->orig->offset + 26, SEEK_SET) < 0) {
+
+    /* XXX: check for off_t overflow */
+    if (fseeko(za->zp, (off_t)(e->orig->offset + 26), SEEK_SET) < 0) {
 	_zip_error_set(&za->error, ZIP_ER_SEEK, errno);
 	return -1;
     }
diff --git a/lib/zip_extra_field_api.c b/lib/zip_extra_field_api.c
index ff91766..f0ca76c 100644
--- a/lib/zip_extra_field_api.c
+++ b/lib/zip_extra_field_api.c
@@ -152,7 +152,7 @@
 	if (ef->flags & flags & ZIP_EF_BOTH)
 	    n++;
 
-    return n;
+    return (zip_int16_t)n;
 }
 
 
@@ -179,7 +179,7 @@
 	if (ef->id == ef_id && (ef->flags & flags & ZIP_EF_BOTH))
 	    n++;
 
-    return n;
+    return (zip_int16_t)n;
 }
 
 
diff --git a/lib/zip_fclose.c b/lib/zip_fclose.c
index 8a15feb..611db80 100644
--- a/lib/zip_fclose.c
+++ b/lib/zip_fclose.c
@@ -42,7 +42,8 @@
 ZIP_EXTERN int
 zip_fclose(struct zip_file *zf)
 {
-    int i, ret;
+    int ret;
+    unsigned int i;
     
     if (zf->src)
 	zip_source_free(zf->src);
diff --git a/lib/zip_file_get_offset.c b/lib/zip_file_get_offset.c
index 644613f..f2742ec 100644
--- a/lib/zip_file_get_offset.c
+++ b/lib/zip_file_get_offset.c
@@ -51,14 +51,15 @@
 */
 
 zip_uint64_t
-_zip_file_get_offset(struct zip *za, int idx, struct zip_error *error)
+_zip_file_get_offset(struct zip *za, zip_uint64_t idx, struct zip_error *error)
 {
     zip_uint64_t offset;
     zip_int32_t size;
 
     offset = za->entry[idx].orig->offset;
 
-    if (fseeko(za->zp, offset, SEEK_SET) != 0) {
+    /* XXX: check for off_t overflow */
+    if (fseeko(za->zp, (off_t)offset, SEEK_SET) != 0) {
 	_zip_error_set(error, ZIP_ER_SEEK, errno);
 	return 0;
     }
@@ -67,5 +68,5 @@
     if ((size=_zip_dirent_size(za->zp, ZIP_EF_LOCAL, error)) < 0)
 	return 0;
 
-    return offset + size;
+    return offset + (zip_uint32_t)size;
 }
diff --git a/lib/zip_filerange_crc.c b/lib/zip_filerange_crc.c
index 4d1ad56..e99e807 100644
--- a/lib/zip_filerange_crc.c
+++ b/lib/zip_filerange_crc.c
@@ -56,13 +56,13 @@
     }
     
     while (len > 0) {
-	n = len > BUFSIZE ? BUFSIZE : len;
+	n = len > BUFSIZE ? BUFSIZE : (size_t)len;
 	if ((n=fread(buf, 1, n, fp)) <= 0) {
 	    _zip_error_set(errp, ZIP_ER_READ, errno);
 	    return -1;
 	}
 
-	*crcp = crc32(*crcp, buf, n);
+	*crcp = crc32(*crcp, buf, (uInt)n);
 
 	len-= n;
     }
diff --git a/lib/zip_fopen.c b/lib/zip_fopen.c
index 5a65eba..331f79e 100644
--- a/lib/zip_fopen.c
+++ b/lib/zip_fopen.c
@@ -38,12 +38,12 @@
 
 
 ZIP_EXTERN struct zip_file *
-zip_fopen(struct zip *za, const char *fname, int flags)
+zip_fopen(struct zip *za, const char *fname, zip_flags_t flags)
 {
-    int idx;
+    zip_int64_t idx;
 
     if ((idx=zip_name_locate(za, fname, flags)) < 0)
 	return NULL;
 
-    return zip_fopen_index_encrypted(za, idx, flags, za->default_password);
+    return zip_fopen_index_encrypted(za, (zip_uint64_t)idx, flags, za->default_password);
 }
diff --git a/lib/zip_fopen_encrypted.c b/lib/zip_fopen_encrypted.c
index 0a4b131..34230f0 100644
--- a/lib/zip_fopen_encrypted.c
+++ b/lib/zip_fopen_encrypted.c
@@ -38,13 +38,12 @@
 
 
 ZIP_EXTERN struct zip_file *
-zip_fopen_encrypted(struct zip *za, const char *fname, int flags,
-		    const char *password)
+zip_fopen_encrypted(struct zip *za, const char *fname, zip_flags_t flags, const char *password)
 {
-    int idx;
+    zip_int64_t idx;
 
     if ((idx=zip_name_locate(za, fname, flags)) < 0)
 	return NULL;
 
-    return zip_fopen_index_encrypted(za, idx, flags, password);
+    return zip_fopen_index_encrypted(za, (zip_uint64_t)idx, flags, password);
 }
diff --git a/lib/zip_fopen_index.c b/lib/zip_fopen_index.c
index 3a58bbe..a4b1f0d 100644
--- a/lib/zip_fopen_index.c
+++ b/lib/zip_fopen_index.c
@@ -42,7 +42,7 @@
 
 
 ZIP_EXTERN struct zip_file *
-zip_fopen_index(struct zip *za, zip_uint64_t fileno, int flags)
+zip_fopen_index(struct zip *za, zip_uint64_t fileno, zip_flags_t flags)
 {
     return zip_fopen_index_encrypted(za, fileno, flags, za->default_password);
 }
diff --git a/lib/zip_fopen_index_encrypted.c b/lib/zip_fopen_index_encrypted.c
index 56697a5..7479971 100644
--- a/lib/zip_fopen_index_encrypted.c
+++ b/lib/zip_fopen_index_encrypted.c
@@ -44,7 +44,7 @@
 
 
 ZIP_EXTERN struct zip_file *
-zip_fopen_index_encrypted(struct zip *za, zip_uint64_t fileno, int flags,
+zip_fopen_index_encrypted(struct zip *za, zip_uint64_t fileno, zip_flags_t flags,
 			  const char *password)
 {
     struct zip_file *zf;
@@ -75,7 +75,7 @@
 _zip_file_new(struct zip *za)
 {
     struct zip_file *zf, **file;
-    int n;
+    unsigned int n;
 
     if ((zf=(struct zip_file *)malloc(sizeof(struct zip_file))) == NULL) {
 	_zip_error_set(&za->error, ZIP_ER_MEMORY, 0);
diff --git a/lib/zip_get_archive_comment.c b/lib/zip_get_archive_comment.c
index ccada19..202f761 100644
--- a/lib/zip_get_archive_comment.c
+++ b/lib/zip_get_archive_comment.c
@@ -40,7 +40,7 @@
 
 
 ZIP_EXTERN const char *
-zip_get_archive_comment(struct zip *za, int *lenp, int flags)
+zip_get_archive_comment(struct zip *za, int *lenp, zip_flags_t flags)
 {
     struct zip_string *comment;
     zip_uint32_t len;
@@ -55,7 +55,7 @@
 	return NULL;
 
     if (lenp)
-	*lenp = len;
+	*lenp = (int)len;
 
     return (const char *)str;
 }
diff --git a/lib/zip_get_archive_flag.c b/lib/zip_get_archive_flag.c
index 4733d92..c3be5c1 100644
--- a/lib/zip_get_archive_flag.c
+++ b/lib/zip_get_archive_flag.c
@@ -38,9 +38,9 @@
 
 
 ZIP_EXTERN int
-zip_get_archive_flag(struct zip *za, int flag, int flags)
+zip_get_archive_flag(struct zip *za, unsigned int flag, zip_flags_t flags)
 {
-    int fl;
+    unsigned int fl;
 
     fl = (flags & ZIP_FL_UNCHANGED) ? za->flags : za->ch_flags;
 
diff --git a/lib/zip_get_name.c b/lib/zip_get_name.c
index baa383d..27ba6b8 100644
--- a/lib/zip_get_name.c
+++ b/lib/zip_get_name.c
@@ -40,7 +40,7 @@
 
 
 ZIP_EXTERN const char *
-zip_get_name(struct zip *za, zip_uint64_t idx, int flags)
+zip_get_name(struct zip *za, zip_uint64_t idx, zip_flags_t flags)
 {
     return _zip_get_name(za, idx, flags, &za->error);
 }
@@ -48,8 +48,7 @@
 
 
 const char *
-_zip_get_name(struct zip *za, zip_uint64_t idx, int flags,
-	      struct zip_error *error)
+_zip_get_name(struct zip *za, zip_uint64_t idx, zip_flags_t flags, struct zip_error *error)
 {
     struct zip_dirent *de;
     const zip_uint8_t *str;
diff --git a/lib/zip_get_num_entries.c b/lib/zip_get_num_entries.c
index 3fbafd2..26484ba 100644
--- a/lib/zip_get_num_entries.c
+++ b/lib/zip_get_num_entries.c
@@ -37,8 +37,8 @@
 
 
 
-ZIP_EXTERN zip_uint64_t
-zip_get_num_entries(struct zip *za, int flags)
+ZIP_EXTERN zip_int64_t
+zip_get_num_entries(struct zip *za, zip_flags_t flags)
 {
     zip_uint64_t n;
 
@@ -49,7 +49,7 @@
 	n = za->nentry;
 	while (n>0 && za->entry[n-1].orig == NULL)
 	    --n;
-	return n;
+	return (zip_int64_t)n;
     }
-    return za->nentry;
+    return (zip_int64_t)za->nentry;
 }
diff --git a/lib/zip_get_num_files.c b/lib/zip_get_num_files.c
index 1d9baa3..29b06dc 100644
--- a/lib/zip_get_num_files.c
+++ b/lib/zip_get_num_files.c
@@ -33,6 +33,7 @@
 
 
 
+#define _ZIP_COMPILING_DEPRECATED
 #include "zipint.h"
 
 
@@ -43,5 +44,6 @@
     if (za == NULL)
 	return -1;
 
-    return za->nentry;
+    /* XXX: check for overflow */
+    return (int)za->nentry;
 }
diff --git a/lib/zip_name_locate.c b/lib/zip_name_locate.c
index a5b1db2..40cfb44 100644
--- a/lib/zip_name_locate.c
+++ b/lib/zip_name_locate.c
@@ -39,17 +39,16 @@
 
 
 
-ZIP_EXTERN int
-zip_name_locate(struct zip *za, const char *fname, int flags)
+ZIP_EXTERN zip_int64_t
+zip_name_locate(struct zip *za, const char *fname, zip_flags_t flags)
 {
     return _zip_name_locate(za, fname, flags, &za->error);
 }
 
 
 
-int
-_zip_name_locate(struct zip *za, const char *fname, int flags,
-		 struct zip_error *error)
+zip_int64_t
+_zip_name_locate(struct zip *za, const char *fname, zip_flags_t flags, struct zip_error *error)
 {
     int (*cmp)(const char *, const char *);
     const char *fn, *p;
@@ -80,7 +79,7 @@
 
 	if (cmp(fname, fn) == 0) {
 	    _zip_error_clear(error);
-	    return i;
+	    return (zip_int64_t)i;
 	}
     }
 
diff --git a/lib/zip_set_archive_comment.c b/lib/zip_set_archive_comment.c
index bf72983..297798a 100644
--- a/lib/zip_set_archive_comment.c
+++ b/lib/zip_set_archive_comment.c
@@ -40,7 +40,7 @@
 
 
 ZIP_EXTERN int
-zip_set_archive_comment(struct zip *za, const char *comment, int len)
+zip_set_archive_comment(struct zip *za, const char *comment, zip_uint16_t len)
 {
     struct zip_string *cstr;
 
diff --git a/lib/zip_set_archive_flag.c b/lib/zip_set_archive_flag.c
index e0e713a..b6cdab1 100644
--- a/lib/zip_set_archive_flag.c
+++ b/lib/zip_set_archive_flag.c
@@ -38,7 +38,7 @@
 
 
 ZIP_EXTERN int
-zip_set_archive_flag(struct zip *za, int flag, int value)
+zip_set_archive_flag(struct zip *za, unsigned int flag, int value)
 {
     unsigned int new_flags;
     
diff --git a/lib/zip_set_name.c b/lib/zip_set_name.c
index 8acbec8..6a91cd7 100644
--- a/lib/zip_set_name.c
+++ b/lib/zip_set_name.c
@@ -46,7 +46,7 @@
     struct zip_entry *e;
     struct zip_string *str;
     int changed;
-    int i;
+    zip_int64_t i;
 
     if (idx >= za->nentry) {
 	_zip_error_set(&za->error, ZIP_ER_INVAL, 0);
@@ -59,7 +59,8 @@
     }
 
     if (name && strlen(name) > 0) {
-	if ((str=_zip_string_new((const zip_uint8_t *)name, strlen(name), flags, &za->error)) == NULL)
+        /* XXX: check for string too long */
+	if ((str=_zip_string_new((const zip_uint8_t *)name, (zip_uint16_t)strlen(name), flags, &za->error)) == NULL)
 	    return -1;
 	if ((flags & ZIP_FL_ENCODING_ALL) == ZIP_FL_ENC_GUESS && _zip_guess_encoding(str, ZIP_ENCODING_UNKNOWN) == ZIP_ENCODING_UTF8_GUESSED)
 	    str->encoding = ZIP_ENCODING_UTF8_KNOWN;
@@ -68,14 +69,14 @@
 	str = NULL;
 
     /* XXX: encoding flags needed for CP437? */
-    if ((i=_zip_name_locate(za, name, 0, NULL)) != -1 && i != idx) {
+    if ((i=_zip_name_locate(za, name, 0, NULL)) >= 0 && (zip_uint64_t)i != idx) {
 	_zip_string_free(str);
 	_zip_error_set(&za->error, ZIP_ER_EXISTS, 0);
 	return -1;
     }
 
     /* no effective name change */
-    if (i == idx) {
+    if (i>=0 && (zip_uint64_t)i == idx) {
 	_zip_string_free(str);
 	return 0;
     }
diff --git a/lib/zip_source_buffer.c b/lib/zip_source_buffer.c
index af8bf19..8a13e76 100644
--- a/lib/zip_source_buffer.c
+++ b/lib/zip_source_buffer.c
@@ -98,9 +98,7 @@
 	return 0;
 	
     case ZIP_SOURCE_READ:
-	/* XXX: return error if (len > ZIP_INT64_MAX) */
-
-	n = z->end - z->buf;
+	n = (zip_uint64_t)(z->end - z->buf);
 	if (n > len)
 	    n = len;
 
@@ -109,7 +107,7 @@
 	    z->buf += n;
 	}
 
-	return n;
+	return (zip_int64_t)n;
 	
     case ZIP_SOURCE_CLOSE:
 	return 0;
@@ -125,7 +123,7 @@
 
 	    zip_stat_init(st);
 	    st->mtime = z->mtime;
-	    st->size = z->end - z->data;
+	    st->size = (zip_uint64_t)(z->end - z->data);
 	    st->comp_size = st->size;
 	    st->comp_method = ZIP_CM_STORE;
 	    st->encryption_method = ZIP_EM_NONE;
diff --git a/lib/zip_source_crc.c b/lib/zip_source_crc.c
index d8cc6ce..c9e6623 100644
--- a/lib/zip_source_crc.c
+++ b/lib/zip_source_crc.c
@@ -85,7 +85,7 @@
     switch (cmd) {
     case ZIP_SOURCE_OPEN:
 	ctx->eof = 0;
-	ctx->crc = crc32(0, NULL, 0);
+	ctx->crc = (zip_uint32_t)crc32(0, NULL, 0);
 	ctx->size = 0;
 
 	return 0;
@@ -120,8 +120,8 @@
 	    }
 	}
 	else {
-	    ctx->size += n;
-	    ctx->crc = crc32(ctx->crc, data, n);
+	    ctx->size += (zip_uint64_t)n;
+	    ctx->crc = (zip_uint32_t)crc32(ctx->crc, data, (uInt)n); /* XXX: check for overflow, use multiple crc calls if needed */
 	}
 	return n;
 
diff --git a/lib/zip_source_deflate.c b/lib/zip_source_deflate.c
index 5c26740..d00b406 100644
--- a/lib/zip_source_deflate.c
+++ b/lib/zip_source_deflate.c
@@ -113,7 +113,7 @@
 	return 0;
 	
     ctx->zstr.next_out = (Bytef *)data;
-    ctx->zstr.avail_out = len;
+    ctx->zstr.avail_out = (uInt)len; /* XXX: check for overflow */
 
     end = 0;
     while (!end) {
@@ -136,8 +136,7 @@
 		    break;
 		}
 
-		if ((n=zip_source_read(src, ctx->buffer,
-				       sizeof(ctx->buffer))) < 0) {
+		if ((n=zip_source_read(src, ctx->buffer, sizeof(ctx->buffer))) < 0) {
 		    zip_source_error(src, ctx->e, ctx->e+1);
 		    end = 1;
 		    break;
@@ -149,7 +148,7 @@
 		}
 		else {
 		    ctx->zstr.next_in = (Bytef *)ctx->buffer;
-		    ctx->zstr.avail_in = n;
+		    ctx->zstr.avail_in = (uInt)n;
 		}
 		continue;
 	    }
@@ -167,7 +166,7 @@
     }
 
     if (ctx->zstr.avail_out < len)
-	return len - ctx->zstr.avail_out;
+	return (zip_int64_t)(len - ctx->zstr.avail_out);
 
     return (ctx->e[0] == 0) ? 0 : -1;
 }
@@ -188,7 +187,7 @@
 	return 0;
 	
     ctx->zstr.next_out = (Bytef *)data;
-    ctx->zstr.avail_out = len;
+    ctx->zstr.avail_out = (uInt)len; /* XXX: check for overflow */
 
     end = 0;
     while (!end && ctx->zstr.avail_out) {
@@ -210,8 +209,7 @@
 		    break;
 		}
 
-		if ((n=zip_source_read(src, ctx->buffer,
-			    sizeof(ctx->buffer))) < 0) {
+		if ((n=zip_source_read(src, ctx->buffer, sizeof(ctx->buffer))) < 0) {
 		    zip_source_error(src, ctx->e, ctx->e+1);
 		    end = 1;
 		    break;
@@ -220,7 +218,7 @@
 		    ctx->eof = 1;
 		else {
 		    ctx->zstr.next_in = (Bytef *)ctx->buffer;
-		    ctx->zstr.avail_in = n;
+		    ctx->zstr.avail_in = (uInt)n;
 		}
 		continue;
 	    }
@@ -237,7 +235,7 @@
     }
 
     if (ctx->zstr.avail_out < len)
-	return len - ctx->zstr.avail_out;
+	return (zip_int64_t)(len - ctx->zstr.avail_out);
 
     return (ctx->e[0] == 0) ? 0 : -1;
 }
@@ -334,7 +332,7 @@
 	ctx->zstr.zfree = Z_NULL;
 	ctx->zstr.opaque = NULL;
 	ctx->zstr.next_in = (Bytef *)ctx->buffer;
-	ctx->zstr.avail_in = n;
+	ctx->zstr.avail_in = (uInt)n /* XXX: check for overflow */;
 
 	/* negative value to tell zlib that there is no header */
 	if ((ret=inflateInit2(&ctx->zstr, -MAX_WBITS)) != Z_OK) {
diff --git a/lib/zip_source_filep.c b/lib/zip_source_filep.c
index 51ffb65..0bd2d68 100644
--- a/lib/zip_source_filep.c
+++ b/lib/zip_source_filep.c
@@ -125,7 +125,7 @@
 {
     struct read_file *z;
     char *buf;
-    int i, n;
+    size_t i, n;
 
     z = (struct read_file *)state;
     buf = (char *)data;
@@ -153,30 +153,31 @@
     case ZIP_SOURCE_READ:
 	/* XXX: return INVAL if len > size_t max */
 	if (z->remain != -1)
-	    n = len > z->remain ? z->remain : len;
+	    n = len > (zip_uint64_t)z->remain ? (zip_uint64_t)z->remain : len;
 	else
 	    n = len;
 
 	if (!z->closep) {
 	    /* we might share this file with others, so let's be safe */
-	    if (fseeko(z->f, (off_t)(z->off + z->len-z->remain),
-		       SEEK_SET) < 0) {
+	    if (fseeko(z->f, (off_t)(z->off + (zip_uint64_t)(z->len-z->remain)), SEEK_SET) < 0) {
 		z->e[0] = ZIP_ER_SEEK;
 		z->e[1] = errno;
 		return -1;
 	    }
 	}
 
-	if ((i=fread(buf, 1, n, z->f)) < 0) {
-	    z->e[0] = ZIP_ER_READ;
-	    z->e[1] = errno;
-	    return -1;
+	if ((i=fread(buf, 1, n, z->f)) == 0) {
+            if (ferror(z->f)) {
+                z->e[0] = ZIP_ER_READ;
+                z->e[1] = errno;
+                return -1;
+            }
 	}
 
 	if (z->remain != -1)
 	    z->remain -= i;
 
-	return i;
+	return (zip_int64_t)i;
 	
     case ZIP_SOURCE_CLOSE:
 	if (z->fname) {
@@ -214,11 +215,11 @@
 		st->mtime = fst.st_mtime;
 		st->valid |= ZIP_STAT_MTIME;
 		if (z->len != -1) {
-		    st->size = z->len;
+		    st->size = (zip_uint64_t)z->len;
 		    st->valid |= ZIP_STAT_SIZE;
 		}
 		else if ((fst.st_mode&S_IFMT) == S_IFREG) {
-		    st->size = fst.st_size;
+		    st->size = (zip_uint64_t)fst.st_size;
 		    st->valid |= ZIP_STAT_SIZE;
 		}
 	    }
diff --git a/lib/zip_source_pkware.c b/lib/zip_source_pkware.c
index 34d06c0..2fca554 100644
--- a/lib/zip_source_pkware.c
+++ b/lib/zip_source_pkware.c
@@ -111,7 +111,7 @@
 
 	if (!update_only) {
 	    /* decrypt next byte */
-	    tmp = ctx->key[2] | 2;
+	    tmp = (zip_uint16_t)(ctx->key[2] | 2);
 	    tmp = (tmp * (tmp ^ 1)) >> 8;
 	    b ^= tmp;
 	}
@@ -121,10 +121,10 @@
 	    out[i] = b;
 
 	/* update keys */
-	ctx->key[0] = crc32(ctx->key[0] ^ 0xffffffffUL, &b, 1) ^ 0xffffffffUL;
+	ctx->key[0] = (zip_uint32_t)crc32(ctx->key[0] ^ 0xffffffffUL, &b, 1) ^ 0xffffffffUL;
 	ctx->key[1] = (ctx->key[1] + (ctx->key[0] & 0xff)) * 134775813 + 1;
 	b = ctx->key[1] >> 24;
-	ctx->key[2] = crc32(ctx->key[2] ^ 0xffffffffUL, &b, 1) ^ 0xffffffffUL;
+	ctx->key[2] = (zip_uint32_t)crc32(ctx->key[2] ^ 0xffffffffUL, &b, 1) ^ 0xffffffffUL;
     }
 }
 
diff --git a/lib/zip_source_window.c b/lib/zip_source_window.c
index 0f8f1a9..0ed1cea 100644
--- a/lib/zip_source_window.c
+++ b/lib/zip_source_window.c
@@ -79,18 +79,19 @@
 	    zip_uint64_t len, enum zip_source_cmd cmd)
 {
     struct window *ctx;
-    zip_int64_t i, n;
+    zip_int64_t ret;
+    zip_uint64_t n, i;
     char b[8192];
 
     ctx = (struct window *)_ctx;
 
     switch (cmd) {
     case ZIP_SOURCE_OPEN:
-	for (n=0; n<ctx->skip; n+=i) {
+	for (n=0; n<ctx->skip; n+=(zip_uint64_t)ret) {
 	    i = (ctx->skip-n > sizeof(b) ? sizeof(b) : ctx->skip-n);
-	    if ((i=zip_source_read(src, b, i)) < 0)
+	    if ((ret=zip_source_read(src, b, i)) < 0)
 		return ZIP_SOURCE_ERR_LOWER;
-	    if (i==0) {
+	    if (ret==0) {
 		ctx->e[0] = ZIP_ER_EOF;
 		ctx->e[1] = 0;
 		return -1;
@@ -105,19 +106,19 @@
 	if (len <= 0)
 	    return 0;
 
-	if ((n=zip_source_read(src, data, len)) < 0)
+	if ((ret=zip_source_read(src, data, len)) < 0)
 	    return ZIP_SOURCE_ERR_LOWER;
 
-	ctx->left -= n;
+	ctx->left -= (zip_uint64_t)ret;
 
-	if (n == 0) {
+        if (ret == 0) {
 	    if (ctx->left > 0) {
 		ctx->e[0] = ZIP_ER_EOF;
 		ctx->e[1] = 0;
 		return -1;
 	    }
 	}
-	return n;
+	return ret;
 
     case ZIP_SOURCE_CLOSE:
 	return 0;
diff --git a/lib/zip_source_zip.c b/lib/zip_source_zip.c
index 7426c4b..e4fc222 100644
--- a/lib/zip_source_zip.c
+++ b/lib/zip_source_zip.c
@@ -42,15 +42,20 @@
 
 ZIP_EXTERN struct zip_source *
 zip_source_zip(struct zip *za, struct zip *srcza, zip_uint64_t srcidx,
-	       int flags, zip_uint64_t start, zip_int64_t len)
+	       zip_flags_t flags, zip_uint64_t start, zip_int64_t len)
 {
-    if (len == 0)
-	len = -1;
-
-    if (start == 0 && len == -1)
+    if (len < -1) {
+        _zip_error_set(&za->error, ZIP_ER_INVAL, 0);
+        return NULL;
+    }
+        
+    if (len == -1)
+	len = 0;
+    
+    if (start == 0 && len == 0)
 	flags |= ZIP_FL_COMPRESSED;
     else
 	flags &= ~ZIP_FL_COMPRESSED;
 
-    return _zip_source_zip_new(za, srcza, srcidx, flags, start, len, NULL);
+    return _zip_source_zip_new(za, srcza, srcidx, flags, start, (zip_uint64_t)len, NULL);
 }
diff --git a/lib/zip_source_zip_new.c b/lib/zip_source_zip_new.c
index 44e41ab..8e48f6f 100644
--- a/lib/zip_source_zip_new.c
+++ b/lib/zip_source_zip_new.c
@@ -40,8 +40,8 @@
 
 
 struct zip_source *
-_zip_source_zip_new(struct zip *za, struct zip *srcza, zip_uint64_t srcidx, int flags,
-		    zip_uint64_t start, zip_int64_t len, const char *password)
+_zip_source_zip_new(struct zip *za, struct zip *srcza, zip_uint64_t srcidx, zip_flags_t flags,
+		    zip_uint64_t start, zip_uint64_t len, const char *password)
 {
     zip_compression_implementation comp_impl;
     zip_encryption_implementation enc_impl;
@@ -52,7 +52,7 @@
     if (za == NULL)
 	return NULL;
 
-    if (srcza == NULL || len < -1 || srcidx >= srcza->nentry) {
+    if (srcza == NULL ||  srcidx >= srcza->nentry) {
 	_zip_error_set(&za->error, ZIP_ER_INVAL, 0);
 	return NULL;
     }
@@ -76,9 +76,6 @@
 	return NULL;
     }
 
-    if (len == -1)
-	len = 0;
-
     /* overflow or past end of file */
     if ((start > 0 || len > 0) && (start+len < start || start+len > st.size)) {
 	_zip_error_set(&za->error, ZIP_ER_INVAL, 0);
@@ -124,12 +121,13 @@
 	    st2.mtime = st.mtime;
 	    st2.valid = ZIP_STAT_SIZE|ZIP_STAT_COMP_SIZE|ZIP_STAT_COMP_METHOD|ZIP_STAT_MTIME;
 
-	    if ((src=_zip_source_file_or_p(za, NULL, srcza->zp, offset+start, st2.size, 0, &st2)) == NULL)
+            /* XXX: check for overflow of st2.size */
+	    if ((src=_zip_source_file_or_p(za, NULL, srcza->zp, offset+start, (zip_int64_t)st2.size, 0, &st2)) == NULL)
 		return NULL;
 	}
 	else {
-	    if ((src=_zip_source_file_or_p(za, NULL, srcza->zp, offset, st.comp_size,
-					   0, &st)) == NULL)
+            /* XXX: check for overflow of st.comp_size */
+	    if ((src=_zip_source_file_or_p(za, NULL, srcza->zp, offset, (zip_int64_t)st.comp_size, 0, &st)) == NULL)
 		return NULL;
 	}
 	
diff --git a/lib/zip_stat.c b/lib/zip_stat.c
index df1c0b5..8254627 100644
--- a/lib/zip_stat.c
+++ b/lib/zip_stat.c
@@ -38,12 +38,12 @@
 
 
 ZIP_EXTERN int
-zip_stat(struct zip *za, const char *fname, int flags, struct zip_stat *st)
+zip_stat(struct zip *za, const char *fname, zip_flags_t flags, struct zip_stat *st)
 {
-    int idx;
+    zip_int64_t idx;
 
     if ((idx=zip_name_locate(za, fname, flags)) < 0)
 	return -1;
 
-    return zip_stat_index(za, idx, flags, st);
+    return zip_stat_index(za, (zip_uint64_t)idx, flags, st);
 }
diff --git a/lib/zip_stat_index.c b/lib/zip_stat_index.c
index 4427958..f4ce72a 100644
--- a/lib/zip_stat_index.c
+++ b/lib/zip_stat_index.c
@@ -38,7 +38,7 @@
 
 
 ZIP_EXTERN int
-zip_stat_index(struct zip *za, zip_uint64_t index, int flags,
+zip_stat_index(struct zip *za, zip_uint64_t index, zip_flags_t flags,
 	       struct zip_stat *st)
 {
     const char *name;
@@ -65,7 +65,7 @@
 	st->size = de->uncomp_size;
 	st->mtime = de->last_mod;
 	st->comp_size = de->comp_size;
-	st->comp_method = de->comp_method;
+	st->comp_method = (zip_uint16_t)de->comp_method;
 	if (de->bitflags & ZIP_GPBF_ENCRYPTED) {
 	    if (de->bitflags & ZIP_GPBF_STRONG_ENCRYPTION) {
 		/* XXX */
diff --git a/lib/zip_string.c b/lib/zip_string.c
index d49e521..242eecd 100644
--- a/lib/zip_string.c
+++ b/lib/zip_string.c
@@ -45,10 +45,10 @@
 {
     zip_uint32_t crc;
     
-    crc = crc32(0L, Z_NULL, 0);
+    crc = (zip_uint32_t)crc32(0L, Z_NULL, 0);
 
     if (s != NULL)    
-	crc = crc32(crc, s->raw, s->length);
+	crc = (zip_uint32_t)crc32(crc, s->raw, s->length);
 
     return crc;
 }
diff --git a/lib/zip_unchange.c b/lib/zip_unchange.c
index 7026063..5f0e753 100644
--- a/lib/zip_unchange.c
+++ b/lib/zip_unchange.c
@@ -50,7 +50,7 @@
 int
 _zip_unchange(struct zip *za, zip_uint64_t idx, int allow_duplicates)
 {
-    int i;
+    zip_int64_t i;
     
     if (idx >= za->nentry) {
 	_zip_error_set(&za->error, ZIP_ER_INVAL, 0);
@@ -59,7 +59,7 @@
 
     if (!allow_duplicates && za->entry[idx].changes && (za->entry[idx].changes->changed & ZIP_DIRENT_FILENAME)) {
 	i = _zip_name_locate(za, _zip_get_name(za, idx, ZIP_FL_UNCHANGED, NULL), 0, NULL);
-	if (i != -1 && i != idx) {
+	if (i >= 0 && (zip_uint64_t)i != idx) {
 	    _zip_error_set(&za->error, ZIP_ER_EXISTS, 0);
 	    return -1;
 	}
diff --git a/lib/zip_unchange_all.c b/lib/zip_unchange_all.c
index 54a7a0d..bbc2825 100644
--- a/lib/zip_unchange_all.c
+++ b/lib/zip_unchange_all.c
@@ -42,7 +42,8 @@
 ZIP_EXTERN int
 zip_unchange_all(struct zip *za)
 {
-    int ret, i;
+    int ret;
+    zip_uint64_t i;
 
     ret = 0;
     for (i=0; i<za->nentry; i++)
diff --git a/lib/zipint.h b/lib/zipint.h
index 6468130..fa68d26 100644
--- a/lib/zipint.h
+++ b/lib/zipint.h
@@ -267,11 +267,11 @@
 
 /* zip archive directory entry (central or local) */
 
-#define ZIP_DIRENT_COMP_METHOD	0x0001
-#define ZIP_DIRENT_FILENAME	0x0002
-#define ZIP_DIRENT_COMMENT	0x0004
-#define ZIP_DIRENT_EXTRA_FIELD	0x0008
-#define ZIP_DIRENT_ALL		0xffff
+#define ZIP_DIRENT_COMP_METHOD	0x0001u
+#define ZIP_DIRENT_FILENAME	0x0002u
+#define ZIP_DIRENT_COMMENT	0x0004u
+#define ZIP_DIRENT_EXTRA_FIELD	0x0008u
+#define ZIP_DIRENT_ALL		0xffffu
 
 struct zip_dirent {
     zip_uint32_t changed;
@@ -298,8 +298,8 @@
 
 struct zip_cdir {
     struct zip_entry *entry;	 		/* directory entries */
-    unsigned int nentry;			/* number of entries */
-    unsigned int nentry_alloc;			/* number of entries allocated */
+    zip_uint64_t nentry;			/* number of entries */
+    zip_uint64_t nentry_alloc;			/* number of entries allocated */
 
     zip_uint64_t size;		 		/* size of central directory */
     zip_uint64_t offset;	 		/* offset of central directory in file */
@@ -308,7 +308,7 @@
 
 struct zip_extra_field {
     struct zip_extra_field *next;
-    zip_uint16_t flags;				/* in local/central header */
+    zip_flags_t flags;				/* in local/central header */
     zip_uint16_t id;				/* header id */
     zip_uint16_t size;				/* data size */
     zip_uint8_t *data;
@@ -353,7 +353,7 @@
 /* which files to write, and in which order (name is for torrentzip sorting) */
 
 struct zip_filelist {
-    int idx;
+    zip_uint64_t idx;
     const char *name;
 };
 
@@ -377,9 +377,9 @@
 
 int _zip_cdir_compute_crc(struct zip *, uLong *);
 void _zip_cdir_free(struct zip_cdir *);
-int _zip_cdir_grow(struct zip_cdir *, int, struct zip_error *);
-struct zip_cdir *_zip_cdir_new(int, struct zip_error *);
-zip_int64_t _zip_cdir_write(struct zip *, const struct zip_filelist *, int, FILE *);
+int _zip_cdir_grow(struct zip_cdir *, zip_uint64_t, struct zip_error *);
+struct zip_cdir *_zip_cdir_new(zip_uint64_t, struct zip_error *);
+zip_int64_t _zip_cdir_write(struct zip *, const struct zip_filelist *, zip_uint64_t, FILE *);
 
 struct zip_dirent *_zip_dirent_clone(const struct zip_dirent *);
 void _zip_dirent_free(struct zip_dirent *);
@@ -391,7 +391,7 @@
 		     zip_uint32_t *, int, struct zip_error *);
 zip_int32_t _zip_dirent_size(FILE *, zip_uint16_t, struct zip_error *);
 void _zip_dirent_torrent_normalize(struct zip_dirent *);
-int _zip_dirent_write(struct zip_dirent *, FILE *, int, struct zip_error *);
+int _zip_dirent_write(struct zip_dirent *, FILE *, zip_flags_t, struct zip_error *);
 
 struct zip_extra_field *_zip_ef_delete_by_id(struct zip_extra_field *, zip_uint16_t, zip_uint16_t, zip_flags_t);
 void _zip_ef_free(struct zip_extra_field *);
@@ -417,11 +417,11 @@
 const zip_uint8_t *_zip_extract_extra_field_by_id(struct zip_error *, zip_uint16_t, int, const zip_uint8_t *, zip_uint16_t, zip_uint16_t *);
 
 int _zip_file_fillbuf(void *, size_t, struct zip_file *);
-zip_uint64_t _zip_file_get_offset(struct zip *, int, struct zip_error *);
+zip_uint64_t _zip_file_get_offset(struct zip *, zip_uint64_t, struct zip_error *);
 
 int _zip_filerange_crc(FILE *, off_t, off_t, uLong *, struct zip_error *);
 
-struct zip_dirent *_zip_get_dirent(struct zip *, zip_uint64_t, int, struct zip_error *);
+struct zip_dirent *_zip_get_dirent(struct zip *, zip_uint64_t, zip_flags_t, struct zip_error *);
 
 enum zip_encoding_type _zip_guess_encoding(struct zip_string *, enum zip_encoding_type);
 zip_uint8_t *_zip_cp437_to_utf8(const zip_uint8_t * const, zip_uint32_t,
@@ -429,14 +429,14 @@
 
 struct zip *_zip_open(const char *, FILE *, int, int, int *);
 
-int _zip_read_local_ef(struct zip *, int);
+int _zip_read_local_ef(struct zip *, zip_uint64_t);
 
 struct zip_source *_zip_source_file_or_p(struct zip *, const char *, FILE *,
 					 zip_uint64_t, zip_int64_t, int,
 					 const struct zip_stat *);
 struct zip_source *_zip_source_new(struct zip *);
-struct zip_source *_zip_source_zip_new(struct zip *, struct zip *, zip_uint64_t, int,
-				       zip_uint64_t, zip_int64_t, const char *);
+struct zip_source *_zip_source_zip_new(struct zip *, struct zip *, zip_uint64_t, zip_flags_t,
+				       zip_uint64_t, zip_uint64_t, const char *);
 
 int _zip_string_equal(const struct zip_string *, const struct zip_string *);
 void _zip_string_free(struct zip_string *);
@@ -446,16 +446,16 @@
 struct zip_string *_zip_string_new(const zip_uint8_t *, zip_uint16_t, zip_flags_t, struct zip_error *);
 void _zip_string_write(const struct zip_string *, FILE *);
 
-int _zip_changed(struct zip *, int *);
-const char *_zip_get_name(struct zip *, zip_uint64_t, int, struct zip_error *);
+int _zip_changed(struct zip *, zip_uint64_t *);
+const char *_zip_get_name(struct zip *, zip_uint64_t, zip_flags_t, struct zip_error *);
 int _zip_local_header_read(struct zip *, int);
 void *_zip_memdup(const void *, size_t, struct zip_error *);
-int _zip_name_locate(struct zip *, const char *, int, struct zip_error *);
+zip_int64_t _zip_name_locate(struct zip *, const char *, zip_flags_t, struct zip_error *);
 struct zip *_zip_new(struct zip_error *);
-zip_uint16_t _zip_read2(const unsigned char **);
-zip_uint32_t _zip_read4(const unsigned char **);
-zip_uint64_t _zip_read8(const unsigned char **);
-zip_uint8_t *_zip_read_data(const unsigned char **, FILE *, int, int, struct zip_error *);
+zip_uint16_t _zip_read2(const zip_uint8_t **);
+zip_uint32_t _zip_read4(const zip_uint8_t **);
+zip_uint64_t _zip_read8(const zip_uint8_t **);
+zip_uint8_t *_zip_read_data(const zip_uint8_t **, FILE *, size_t, int, struct zip_error *);
 zip_int64_t _zip_file_replace(struct zip *, zip_uint64_t, const char *, struct zip_source *, zip_flags_t);
 int _zip_set_name(struct zip *, zip_uint64_t, const char *, zip_flags_t);
 void _zip_u2d_time(time_t, zip_uint16_t *, zip_uint16_t *);
diff --git a/man/Makefile.am b/man/Makefile.am
index bc0811e..e2fe0be 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -37,7 +37,6 @@
 	zip_get_file_comment.mdoc \
 	zip_get_name.mdoc \
 	zip_get_num_entries.mdoc \
-	zip_get_num_files.mdoc \
 	zip_name_locate.mdoc \
 	zip_open.mdoc \
 	zip_rename.mdoc \
diff --git a/man/libzip.man b/man/libzip.man
index eeb28e6..e4b6abf 100644
--- a/man/libzip.man
+++ b/man/libzip.man
@@ -111,6 +111,6 @@
 zip_errors(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_add.man b/man/zip_add.man
index 8120430..53bd0e4 100644
--- a/man/zip_add.man
+++ b/man/zip_add.man
@@ -70,6 +70,6 @@
 zip_file_replace(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_add_dir.man b/man/zip_add_dir.man
index 1385127..3e492cc 100644
--- a/man/zip_add_dir.man
+++ b/man/zip_add_dir.man
@@ -52,6 +52,6 @@
 zip_dir_add(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_close.man b/man/zip_close.man
index 6e599f3..99e666f 100644
--- a/man/zip_close.man
+++ b/man/zip_close.man
@@ -118,6 +118,6 @@
 zip_strerror(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_delete.man b/man/zip_delete.man
index 61e8c3c..8cdd998 100644
--- a/man/zip_delete.man
+++ b/man/zip_delete.man
@@ -65,6 +65,6 @@
 zip_unchange(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_dir_add.man b/man/zip_dir_add.man
index 46bb513..1d445d2 100644
--- a/man/zip_dir_add.man
+++ b/man/zip_dir_add.man
@@ -38,7 +38,7 @@
 #include <zip.h>
 .PP
 zip_int64_t
-zip_add_dir(struct zip *archive, const char *name); \
+zip_dir_add(struct zip *archive, const char *name); \
 "zip_flags_t flags"
 .SH "DESCRIPTION"
 The function
@@ -76,7 +76,7 @@
 \fBarchive\fR
 is set to indicate the error.
 .SH "ERRORS"
-zip_add_dir
+zip_dir_add
 fails if:
 .RS
 .TP 4
@@ -101,6 +101,6 @@
 zip_add(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_discard.man b/man/zip_discard.man
index 1f2b2b5..9e8f1c6 100644
--- a/man/zip_discard.man
+++ b/man/zip_discard.man
@@ -51,6 +51,6 @@
 zip_close(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_error_clear.man b/man/zip_error_clear.man
index 750f832..db5ea5e 100644
--- a/man/zip_error_clear.man
+++ b/man/zip_error_clear.man
@@ -58,6 +58,6 @@
 zip_error_get(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_error_get.man b/man/zip_error_get.man
index ce3d547..23a1400 100644
--- a/man/zip_error_get.man
+++ b/man/zip_error_get.man
@@ -75,6 +75,6 @@
 zip_error_to_str(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_error_get_sys_type.man b/man/zip_error_get_sys_type.man
index 9e13948..d0f5985 100644
--- a/man/zip_error_get_sys_type.man
+++ b/man/zip_error_get_sys_type.man
@@ -64,6 +64,6 @@
 zip_file_error_get(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_error_to_str.man b/man/zip_error_to_str.man
index 6cdfb94..f8e915b 100644
--- a/man/zip_error_to_str.man
+++ b/man/zip_error_to_str.man
@@ -81,6 +81,6 @@
 zip_strerror(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_errors.man b/man/zip_errors.man
index 99707c4..e582030 100644
--- a/man/zip_errors.man
+++ b/man/zip_errors.man
@@ -129,6 +129,6 @@
 .RE
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_fclose.man b/man/zip_fclose.man
index a644c8f..0eeb70b 100644
--- a/man/zip_fclose.man
+++ b/man/zip_fclose.man
@@ -54,6 +54,6 @@
 zip_fread(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_fdopen.man b/man/zip_fdopen.man
index 5cccd98..b8ca1c8 100644
--- a/man/zip_fdopen.man
+++ b/man/zip_fdopen.man
@@ -147,6 +147,6 @@
 zip_open(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_file_add.man b/man/zip_file_add.man
index 6a4fa0a..f74035c 100644
--- a/man/zip_file_add.man
+++ b/man/zip_file_add.man
@@ -157,6 +157,6 @@
 zip_source_zip(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_file_extra_field_delete.man b/man/zip_file_extra_field_delete.man
index 12dfafa..bf51d30 100644
--- a/man/zip_file_extra_field_delete.man
+++ b/man/zip_file_extra_field_delete.man
@@ -108,6 +108,6 @@
 zip_file_extra_fields_count(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_file_extra_field_get.man b/man/zip_file_extra_field_get.man
index 99e6b09..953ec16 100644
--- a/man/zip_file_extra_field_get.man
+++ b/man/zip_file_extra_field_get.man
@@ -94,7 +94,7 @@
 Return only extra fields from the local file headers.
 .TP 18
 \fBZIP_FL_UNCHANGED\fR
-Return only the original unchanged extra fields.
+Return the original unchanged extra fields, ignoring any changes made.
 .RE
 .PP
 The
@@ -145,6 +145,6 @@
 zip_file_extra_fields_count(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_file_extra_field_set.man b/man/zip_file_extra_field_set.man
index d026389..47db458 100644
--- a/man/zip_file_extra_field_set.man
+++ b/man/zip_file_extra_field_set.man
@@ -111,6 +111,6 @@
 zip_file_extra_fields_count(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_file_extra_fields_count.man b/man/zip_file_extra_fields_count.man
index 1ad6dab..89f8ca3 100644
--- a/man/zip_file_extra_fields_count.man
+++ b/man/zip_file_extra_fields_count.man
@@ -62,7 +62,7 @@
 Count only extra fields from the local file headers.
 .TP 18
 \fBZIP_FL_UNCHANGED\fR
-Only look at the original unchanged extra fields.
+Count the original unchanged extra fields, ignoring any changes made.
 .RE
 .PP
 The
@@ -96,6 +96,6 @@
 zip_file_extra_field_set(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_file_get_comment.man b/man/zip_file_get_comment.man
index 44abf5f..c4521e7 100644
--- a/man/zip_file_get_comment.man
+++ b/man/zip_file_get_comment.man
@@ -112,6 +112,6 @@
 zip_get_archive_comment(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_file_rename.man b/man/zip_file_rename.man
index d7a1461..c3b929f 100644
--- a/man/zip_file_rename.man
+++ b/man/zip_file_rename.man
@@ -100,6 +100,6 @@
 zip_unchange(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_file_set_comment.man b/man/zip_file_set_comment.man
index 733eb58..fc126da 100644
--- a/man/zip_file_set_comment.man
+++ b/man/zip_file_set_comment.man
@@ -107,6 +107,6 @@
 zip_set_archive_comment(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_file_strerror.man b/man/zip_file_strerror.man
index eeadc8c..1fea452 100644
--- a/man/zip_file_strerror.man
+++ b/man/zip_file_strerror.man
@@ -74,6 +74,6 @@
 zip_error_to_str(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_fopen.man b/man/zip_fopen.man
index aa045df..5a19fbc 100644
--- a/man/zip_fopen.man
+++ b/man/zip_fopen.man
@@ -1,5 +1,5 @@
 .\" zip_fopen.mdoc \-- open file in zip archive for reading
-.\" Copyright (C) 2003-2011 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2003-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>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH ZIP_FOPEN 3 "February 14, 2011" NiH
+.TH ZIP_FOPEN 3 "July 22, 2012" NiH
 .SH "NAME"
 zip_fopen , \- .Nm zip_fopen_index
 open file in zip archive for reading
@@ -39,10 +39,10 @@
 #include <zip.h>
 .PP
 struct zip_file *
-zip_fopen(struct zip *archive, const char *fname, int flags);
+zip_fopen(struct zip *archive, const char *fname, zip_flags_t flags);
 .PP
 struct zip_file *
-zip_fopen_index(struct zip *archive, zip_uint64_t index, int flags);
+zip_fopen_index(struct zip *archive, zip_uint64_t index, zip_flags_t flags);
 .SH "DESCRIPTION"
 The
 zip_fopen
@@ -139,6 +139,6 @@
 zip_set_default_password(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_fopen.mdoc b/man/zip_fopen.mdoc
index be4cf35..13a4622 100644
--- a/man/zip_fopen.mdoc
+++ b/man/zip_fopen.mdoc
@@ -1,5 +1,5 @@
 .\" zip_fopen.mdoc -- open file in zip archive for reading
-.\" Copyright (C) 2003-2011 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2003-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>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd February 14, 2011
+.Dd July 22, 2012
 .Dt ZIP_FOPEN 3
 .Os
 .Sh NAME
@@ -41,9 +41,9 @@
 .Sh SYNOPSIS
 .In zip.h
 .Ft struct zip_file *
-.Fn zip_fopen "struct zip *archive" "const char *fname" "int flags"
+.Fn zip_fopen "struct zip *archive" "const char *fname" "zip_flags_t flags"
 .Ft struct zip_file *
-.Fn zip_fopen_index "struct zip *archive" "zip_uint64_t index" "int flags"
+.Fn zip_fopen_index "struct zip *archive" "zip_uint64_t index" "zip_flags_t flags"
 .Sh DESCRIPTION
 The
 .Fn zip_fopen
diff --git a/man/zip_fopen_encrypted.man b/man/zip_fopen_encrypted.man
index 638242d..39e74e2 100644
--- a/man/zip_fopen_encrypted.man
+++ b/man/zip_fopen_encrypted.man
@@ -1,5 +1,5 @@
 .\" zip_fopen_encrypted.mdoc \-- open encrypted file in zip archive for reading
-.\" Copyright (C) 2011 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2011-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>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH ZIP_FOPEN_ENCRYPTED 3 "February 14, 2011" NiH
+.TH ZIP_FOPEN_ENCRYPTED 3 "July 22, 2012" NiH
 .SH "NAME"
 zip_fopen_encrypted , \- .Nm zip_fopen_index_encrypted
 open encrypted file in zip archive for reading
@@ -39,10 +39,10 @@
 #include <zip.h>
 .PP
 struct zip_file *
-zip_fopen_encrypted(struct zip *archive, const char *fname, int flags, const char *password);
+zip_fopen_encrypted(struct zip *archive, const char *fname, zip_flags_t flags, const char *password);
 .PP
 struct zip_file *
-zip_fopen_index_encrypted(struct zip *archive, zip_uint64_t index, int flags, const char *password);
+zip_fopen_index_encrypted(struct zip *archive, zip_uint64_t index, zip_flags_t flags, const char *password);
 .SH "DESCRIPTION"
 The
 zip_fopen_encrypted
@@ -109,6 +109,6 @@
 zip_name_locate(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_fopen_encrypted.mdoc b/man/zip_fopen_encrypted.mdoc
index 668fd06..494e6ed 100644
--- a/man/zip_fopen_encrypted.mdoc
+++ b/man/zip_fopen_encrypted.mdoc
@@ -1,5 +1,5 @@
 .\" zip_fopen_encrypted.mdoc -- open encrypted file in zip archive for reading
-.\" Copyright (C) 2011 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2011-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>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd February 14, 2011
+.Dd July 22, 2012
 .Dt ZIP_FOPEN_ENCRYPTED 3
 .Os
 .Sh NAME
@@ -41,9 +41,9 @@
 .Sh SYNOPSIS
 .In zip.h
 .Ft struct zip_file *
-.Fn zip_fopen_encrypted "struct zip *archive" "const char *fname" "int flags" "const char *password"
+.Fn zip_fopen_encrypted "struct zip *archive" "const char *fname" "zip_flags_t flags" "const char *password"
 .Ft struct zip_file *
-.Fn zip_fopen_index_encrypted "struct zip *archive" "zip_uint64_t index" "int flags" "const char *password"
+.Fn zip_fopen_index_encrypted "struct zip *archive" "zip_uint64_t index" "zip_flags_t flags" "const char *password"
 .Sh DESCRIPTION
 The
 .Fn zip_fopen_encrypted
diff --git a/man/zip_fread.man b/man/zip_fread.man
index dce4a53..c9a68ff 100644
--- a/man/zip_fread.man
+++ b/man/zip_fread.man
@@ -57,6 +57,6 @@
 zip_fopen(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_get_archive_comment.man b/man/zip_get_archive_comment.man
index 1d521f8..b7816a8 100644
--- a/man/zip_get_archive_comment.man
+++ b/man/zip_get_archive_comment.man
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH ZIP_GET_ARCHIVE_COMMENT 3 "February 20, 2012" NiH
+.TH ZIP_GET_ARCHIVE_COMMENT 3 "July 22, 2012" NiH
 .SH "NAME"
 zip_get_archive_comment \- get zip archive comment
 .SH "LIBRARY"
@@ -38,7 +38,7 @@
 #include <zip.h>
 .PP
 const char *
-zip_get_archive_comment(struct zip *archive, int *lenp, int flags);
+zip_get_archive_comment(struct zip *archive, int *lenp, zip_flags_t flags);
 .SH "DESCRIPTION"
 The
 zip_get_archive_comment
@@ -97,6 +97,6 @@
 zip_get_file_comment(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_get_archive_comment.mdoc b/man/zip_get_archive_comment.mdoc
index e3ef18c..bed26d1 100644
--- a/man/zip_get_archive_comment.mdoc
+++ b/man/zip_get_archive_comment.mdoc
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd February 20, 2012
+.Dd July 22, 2012
 .Dt ZIP_GET_ARCHIVE_COMMENT 3
 .Os
 .Sh NAME
@@ -40,7 +40,7 @@
 .Sh SYNOPSIS
 .In zip.h
 .Ft const char *
-.Fn zip_get_archive_comment "struct zip *archive" "int *lenp" "int flags"
+.Fn zip_get_archive_comment "struct zip *archive" "int *lenp" "zip_flags_t flags"
 .Sh DESCRIPTION
 The
 .Fn zip_get_archive_comment
diff --git a/man/zip_get_archive_flag.man b/man/zip_get_archive_flag.man
index e6522a5..d877e55 100644
--- a/man/zip_get_archive_flag.man
+++ b/man/zip_get_archive_flag.man
@@ -1,5 +1,5 @@
 .\" zip_get_archive_flag.mdoc \-- get comment for file in zip
-.\" Copyright (C) 2008 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2008-2012 Dieter Baron and Thomas Klausner
 .\"
 .\" This file is part of libzip, a library to manipulate ZIP files.
 .\" The authors can be contacted at <libzip@nih.at>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH ZIP_GET_ARCHIVE_FLAG 3 "June 4, 2008" NiH
+.TH ZIP_GET_ARCHIVE_FLAG 3 "July 22, 2012" NiH
 .SH "NAME"
 zip_get_archive_flag \- get status flags for zip
 .SH "LIBRARY"
@@ -38,7 +38,7 @@
 #include <zip.h>
 .PP
 int
-zip_get_archive_flag(struct zip *archive, int flag, int flags);
+zip_get_archive_flag(struct zip *archive, zip_flags_t flag, zip_flags_t flags);
 .SH "DESCRIPTION"
 The
 zip_get_archive_flag
@@ -73,6 +73,6 @@
 zip_set_archive_flag(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_get_archive_flag.mdoc b/man/zip_get_archive_flag.mdoc
index 6236437..2aeefbf 100644
--- a/man/zip_get_archive_flag.mdoc
+++ b/man/zip_get_archive_flag.mdoc
@@ -1,5 +1,5 @@
 .\" zip_get_archive_flag.mdoc -- get comment for file in zip
-.\" Copyright (C) 2008 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2008-2012 Dieter Baron and Thomas Klausner
 .\"
 .\" This file is part of libzip, a library to manipulate ZIP files.
 .\" The authors can be contacted at <libzip@nih.at>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd June 4, 2008
+.Dd July 22, 2012
 .Dt ZIP_GET_ARCHIVE_FLAG 3
 .Os
 .Sh NAME
@@ -40,7 +40,7 @@
 .Sh SYNOPSIS
 .In zip.h
 .Ft int
-.Fn zip_get_archive_flag "struct zip *archive" "int flag" "int flags"
+.Fn zip_get_archive_flag "struct zip *archive" "zip_flags_t flag" "zip_flags_t flags"
 .Sh DESCRIPTION
 The
 .Fn zip_get_archive_flag
diff --git a/man/zip_get_file_comment.man b/man/zip_get_file_comment.man
index 4af6f94..bf80b04 100644
--- a/man/zip_get_file_comment.man
+++ b/man/zip_get_file_comment.man
@@ -54,6 +54,6 @@
 zip_file_get_comment(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_get_name.man b/man/zip_get_name.man
index bfb7976..9d43fdc 100644
--- a/man/zip_get_name.man
+++ b/man/zip_get_name.man
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH ZIP_GET_NAME 3 "February 15, 2012" NiH
+.TH ZIP_GET_NAME 3 "July 21, 2012" NiH
 .SH "NAME"
 zip_get_name \- get name of file by index
 .SH "LIBRARY"
@@ -38,7 +38,7 @@
 #include <zip.h>
 .PP
 const char *
-zip_get_name(struct zip *archive, int index, int flags);
+zip_get_name(struct zip *archive, zip_uint64_t index, zip_flags_t flags);
 .SH "DESCRIPTION"
 The
 zip_get_name
@@ -114,6 +114,6 @@
 zip_name_locate(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_get_name.mdoc b/man/zip_get_name.mdoc
index 09277f9..40fd991 100644
--- a/man/zip_get_name.mdoc
+++ b/man/zip_get_name.mdoc
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd February 15, 2012
+.Dd July 21, 2012
 .Dt ZIP_GET_NAME 3
 .Os
 .Sh NAME
@@ -40,7 +40,7 @@
 .Sh SYNOPSIS
 .In zip.h
 .Ft const char *
-.Fn zip_get_name "struct zip *archive" "int index" "int flags"
+.Fn zip_get_name "struct zip *archive" "zip_uint64_t index" "zip_flags_t flags"
 .Sh DESCRIPTION
 The
 .Fn zip_get_name
diff --git a/man/zip_get_num_entries.man b/man/zip_get_num_entries.man
index 1b151b8..d37fd98 100644
--- a/man/zip_get_num_entries.man
+++ b/man/zip_get_num_entries.man
@@ -1,5 +1,5 @@
 .\" zip_get_num_entries.mdoc \-- get number of files in archive
-.\" Copyright (C) 2011 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2011-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>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH ZIP_GET_NUM_ENTRIES 3 "February 14, 2011" NiH
+.TH ZIP_GET_NUM_ENTRIES 3 "July 22, 2012" NiH
 .SH "NAME"
 zip_get_num_entries \- get number of files in archive
 .SH "LIBRARY"
@@ -38,7 +38,7 @@
 #include <zip.h>
 .PP
 zip_uint64_t
-zip_get_num_entries(struct zip *archive, int flags);
+zip_get_num_entries(struct zip *archive, zip_flags_t flags);
 .SH "DESCRIPTION"
 The
 zip_get_num_entries
@@ -62,6 +62,6 @@
 zip_stat_index(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_get_num_entries.mdoc b/man/zip_get_num_entries.mdoc
index ce52593..45c2851 100644
--- a/man/zip_get_num_entries.mdoc
+++ b/man/zip_get_num_entries.mdoc
@@ -1,5 +1,5 @@
 .\" zip_get_num_entries.mdoc -- get number of files in archive
-.\" Copyright (C) 2011 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2011-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>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd February 14, 2011
+.Dd July 22, 2012
 .Dt ZIP_GET_NUM_ENTRIES 3
 .Os
 .Sh NAME
@@ -40,7 +40,7 @@
 .Sh SYNOPSIS
 .In zip.h
 .Ft zip_uint64_t
-.Fn zip_get_num_entries "struct zip *archive" "int flags"
+.Fn zip_get_num_entries "struct zip *archive" "zip_flags_t flags"
 .Sh DESCRIPTION
 The
 .Fn zip_get_num_entries
diff --git a/man/zip_get_num_files.man b/man/zip_get_num_files.man
deleted file mode 100644
index 1c690b6..0000000
--- a/man/zip_get_num_files.man
+++ /dev/null
@@ -1,67 +0,0 @@
-.\" zip_get_num_files.mdoc \-- get number of files in archive
-.\" Copyright (C) 2003-2011 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>
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in
-.\"    the documentation and/or other materials provided with the
-.\"    distribution.
-.\" 3. The names of the authors may not be used to endorse or promote
-.\"    products derived from this software without specific prior
-.\"    written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
-.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
-.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-.\"
-.TH ZIP_GET_NUM_FILES 3 "February 14, 2011" NiH
-.SH "NAME"
-zip_get_num_files \- get number of files in archive
-.SH "LIBRARY"
-libzip (-lzip)
-.SH "SYNOPSIS"
-#include <zip.h>
-.PP
-int
-zip_get_num_files(struct zip *archive);
-.SH "DESCRIPTION"
-.I This function is deprecated.
-.I Use
-zip_get_num_entries(3)
-.I instead.
-.PP
-The
-zip_get_num_files
-function returns the number of files in
-\fBarchive.\fR
-.SH "RETURN VALUES"
-zip_get_num_files
-returns the number of files in the zip archive,
-or \-1 if
-\fBarchive\fR
-is
-\fBNULL.\fR
-.SH "SEE ALSO"
-libzip(3),
-zip_fopen_index(3),
-zip_stat_index(3)
-.SH "AUTHORS"
-
-Dieter Baron <dillo@giga.or.at>
-and
-Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_get_num_files.mdoc b/man/zip_get_num_files.mdoc
deleted file mode 100644
index 9892c60..0000000
--- a/man/zip_get_num_files.mdoc
+++ /dev/null
@@ -1,69 +0,0 @@
-.\" zip_get_num_files.mdoc -- get number of files in archive
-.\" Copyright (C) 2003-2011 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>
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in
-.\"    the documentation and/or other materials provided with the
-.\"    distribution.
-.\" 3. The names of the authors may not be used to endorse or promote
-.\"    products derived from this software without specific prior
-.\"    written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS
-.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
-.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-.\"
-.Dd February 14, 2011
-.Dt ZIP_GET_NUM_FILES 3
-.Os
-.Sh NAME
-.Nm zip_get_num_files
-.Nd get number of files in archive
-.Sh LIBRARY
-libzip (-lzip)
-.Sh SYNOPSIS
-.In zip.h
-.Ft int
-.Fn zip_get_num_files "struct zip *archive"
-.Sh DESCRIPTION
-.Em This function is deprecated.
-.Em Use
-.Xr zip_get_num_entries 3
-.Em instead.
-.Pp
-The
-.Fn zip_get_num_files
-function returns the number of files in
-.Ar archive .
-.Sh RETURN VALUES
-.Fn zip_get_num_files
-returns the number of files in the zip archive,
-or \-1 if
-.Ar archive
-is
-.Dv NULL .
-.Sh SEE ALSO
-.Xr libzip 3 ,
-.Xr zip_fopen_index 3 ,
-.Xr zip_stat_index 3
-.Sh AUTHORS
-.An -nosplit
-.An Dieter Baron Aq dillo@nih.at
-and
-.An Thomas Klausner Aq tk@giga.or.at
diff --git a/man/zip_name_locate.man b/man/zip_name_locate.man
index da9fcb1..3f90dc7 100644
--- a/man/zip_name_locate.man
+++ b/man/zip_name_locate.man
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH ZIP_NAME_LOCATE 3 "June 23, 2012" NiH
+.TH ZIP_NAME_LOCATE 3 "July 21, 2012" NiH
 .SH "NAME"
 zip_name_locate \- get index of file by name
 .SH "LIBRARY"
@@ -37,8 +37,8 @@
 .SH "SYNOPSIS"
 #include <zip.h>
 .PP
-int
-zip_name_locate(struct zip *archive, const char *fname, int flags);
+zip_int64_t
+zip_name_locate(struct zip *archive, const char *fname, zip_flags_t flags);
 .SH "DESCRIPTION"
 The
 zip_name_locate
@@ -106,6 +106,6 @@
 zip_get_name(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_name_locate.mdoc b/man/zip_name_locate.mdoc
index 04c411a..fa97c00 100644
--- a/man/zip_name_locate.mdoc
+++ b/man/zip_name_locate.mdoc
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd June 23, 2012
+.Dd July 21, 2012
 .Dt ZIP_NAME_LOCATE 3
 .Os
 .Sh NAME
@@ -39,8 +39,8 @@
 libzip (-lzip)
 .Sh SYNOPSIS
 .In zip.h
-.Ft int
-.Fn zip_name_locate "struct zip *archive" "const char *fname" "int flags"
+.Ft zip_int64_t
+.Fn zip_name_locate "struct zip *archive" "const char *fname" "zip_flags_t flags"
 .Sh DESCRIPTION
 The
 .Fn zip_name_locate
diff --git a/man/zip_open.man b/man/zip_open.man
index 08f9bc4..4cb7c8a 100644
--- a/man/zip_open.man
+++ b/man/zip_open.man
@@ -146,6 +146,6 @@
 zip_fdopen(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_rename.man b/man/zip_rename.man
index ffa00ea..fba5eb8 100644
--- a/man/zip_rename.man
+++ b/man/zip_rename.man
@@ -51,6 +51,6 @@
 zip_file_rename(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_set_archive_comment.man b/man/zip_set_archive_comment.man
index d30ee4a..0c8046a 100644
--- a/man/zip_set_archive_comment.man
+++ b/man/zip_set_archive_comment.man
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH ZIP_SET_ARCHIVE_COMMENT 3 "February 20, 2012" NiH
+.TH ZIP_SET_ARCHIVE_COMMENT 3 "July 22, 2012" NiH
 .SH "NAME"
 zip_set_archive_comment \- set zip archive comment
 .SH "LIBRARY"
@@ -39,7 +39,7 @@
 .PP
 int
 zip_set_archive_comment(struct zip *archive); \
-"const char *comment" "int len"
+"const char *comment" "zip_uint16_t len"
 .SH "DESCRIPTION"
 The
 zip_set_archive_comment
@@ -80,6 +80,6 @@
 zip_set_file_comment(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_set_archive_comment.mdoc b/man/zip_set_archive_comment.mdoc
index 82a2033..e30abab 100644
--- a/man/zip_set_archive_comment.mdoc
+++ b/man/zip_set_archive_comment.mdoc
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd February 20, 2012
+.Dd July 22, 2012
 .Dt ZIP_SET_ARCHIVE_COMMENT 3
 .Os
 .Sh NAME
@@ -41,7 +41,7 @@
 .In zip.h
 .Ft int
 .Fn zip_set_archive_comment "struct zip *archive" \
-"const char *comment" "int len"
+"const char *comment" "zip_uint16_t len"
 .Sh DESCRIPTION
 The
 .Fn zip_set_archive_comment
diff --git a/man/zip_set_archive_flag.man b/man/zip_set_archive_flag.man
index f06f24a..da30689 100644
--- a/man/zip_set_archive_flag.man
+++ b/man/zip_set_archive_flag.man
@@ -1,5 +1,5 @@
 .\" zip_set_archive_flag.mdoc \-- set zip archive flag
-.\" Copyright (C) 2008 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2008-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>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH ZIP_SET_ARCHIVE_FLAG 3 "June 4, 2008" NiH
+.TH ZIP_SET_ARCHIVE_FLAG 3 "July 22, 2012" NiH
 .SH "NAME"
 zip_set_archive_flag \- set zip archive flag
 .SH "LIBRARY"
@@ -38,7 +38,7 @@
 #include <zip.h>
 .PP
 int
-zip_set_archive_flag(struct zip *archive, int flag, int value);
+zip_set_archive_flag(struct zip *archive, zip_flags_t flag, int value);
 .SH "DESCRIPTION"
 The
 zip_set_archive_flag
@@ -68,6 +68,6 @@
 zip_get_archive_flag(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_set_archive_flag.mdoc b/man/zip_set_archive_flag.mdoc
index a93fc4b..cb01b4e 100644
--- a/man/zip_set_archive_flag.mdoc
+++ b/man/zip_set_archive_flag.mdoc
@@ -1,5 +1,5 @@
 .\" zip_set_archive_flag.mdoc -- set zip archive flag
-.\" Copyright (C) 2008 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2008-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>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd June 4, 2008
+.Dd July 22, 2012
 .Dt ZIP_SET_ARCHIVE_FLAG 3
 .Os
 .Sh NAME
@@ -40,7 +40,7 @@
 .Sh SYNOPSIS
 .In zip.h
 .Ft int
-.Fn zip_set_archive_flag "struct zip *archive" "int flag" "int value"
+.Fn zip_set_archive_flag "struct zip *archive" "zip_flags_t flag" "int value"
 .Sh DESCRIPTION
 The
 .Fn zip_set_archive_flag
diff --git a/man/zip_set_default_password.man b/man/zip_set_default_password.man
index 46a0943..ad4db30 100644
--- a/man/zip_set_default_password.man
+++ b/man/zip_set_default_password.man
@@ -74,6 +74,6 @@
 zip_fopen_encrypted(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_set_file_comment.man b/man/zip_set_file_comment.man
index 946e73a..3a56420 100644
--- a/man/zip_set_file_comment.man
+++ b/man/zip_set_file_comment.man
@@ -61,6 +61,6 @@
 zip_file_set_comment(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_set_file_compression.man b/man/zip_set_file_compression.man
index 90f66dc..9890a94 100644
--- a/man/zip_set_file_compression.man
+++ b/man/zip_set_file_compression.man
@@ -111,6 +111,6 @@
 zip_stat(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_source_buffer.man b/man/zip_source_buffer.man
index 6711841..05a141f 100644
--- a/man/zip_source_buffer.man
+++ b/man/zip_source_buffer.man
@@ -83,6 +83,6 @@
 zip_source_zip(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_source_file.man b/man/zip_source_file.man
index c3da2f5..0d0f9ab 100644
--- a/man/zip_source_file.man
+++ b/man/zip_source_file.man
@@ -97,6 +97,6 @@
 zip_source_zip(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_source_filep.man b/man/zip_source_filep.man
index e376cde..bec64d7 100644
--- a/man/zip_source_filep.man
+++ b/man/zip_source_filep.man
@@ -88,6 +88,6 @@
 zip_source_zip(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_source_free.man b/man/zip_source_free.man
index e1e10f3..93aad69 100644
--- a/man/zip_source_free.man
+++ b/man/zip_source_free.man
@@ -67,6 +67,6 @@
 zip_source_zip(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_source_zip.man b/man/zip_source_zip.man
index 5e484b4..bdcc350 100644
--- a/man/zip_source_zip.man
+++ b/man/zip_source_zip.man
@@ -1,5 +1,5 @@
 .\" zip_source_zip.mdoc \-- create data source from zip file
-.\" Copyright (C) 2004, 2005, 2008 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2004-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>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH ZIP_SOURCE_ZIP 3 "June 4, 2008" NiH
+.TH ZIP_SOURCE_ZIP 3 "July 22, 2012" NiH
 .SH "NAME"
 zip_source_zip \- create data source from zip file
 .SH "LIBRARY"
@@ -39,7 +39,7 @@
 .PP
 struct zip_source *
 zip_source_zip(struct zip *archive, struct zip *srcarchive); \
-"zip_uint64_t srcidx" "int flags" "zip_uint64_t start" "zip_int64_t len"
+"zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t len"
 .SH "DESCRIPTION"
 The function
 zip_source_zip
@@ -120,6 +120,6 @@
 zip_source_function(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_source_zip.mdoc b/man/zip_source_zip.mdoc
index 0e81d91..46f0baf 100644
--- a/man/zip_source_zip.mdoc
+++ b/man/zip_source_zip.mdoc
@@ -1,5 +1,5 @@
 .\" zip_source_zip.mdoc -- create data source from zip file
-.\" Copyright (C) 2004, 2005, 2008 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2004-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>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd June 4, 2008
+.Dd July 22, 2012
 .Dt ZIP_SOURCE_ZIP 3
 .Os
 .Sh NAME
@@ -41,7 +41,7 @@
 .In zip.h
 .Ft struct zip_source *
 .Fn zip_source_zip "struct zip *archive" "struct zip *srcarchive" \
-"zip_uint64_t srcidx" "int flags" "zip_uint64_t start" "zip_int64_t len"
+"zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t len"
 .Sh DESCRIPTION
 The function
 .Fn zip_source_zip
diff --git a/man/zip_stat.man b/man/zip_stat.man
index 5b93286..4b3f0d1 100644
--- a/man/zip_stat.man
+++ b/man/zip_stat.man
@@ -1,5 +1,5 @@
 .\" zip_stat.mdoc \-- get information about file
-.\" Copyright (C) 2003-2011 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2003-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>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH ZIP_STAT 3 "February 14, 2011" NiH
+.TH ZIP_STAT 3 "July 22, 2012" NiH
 .SH "NAME"
 zip_stat , \- .Nm zip_stat_index
 get information about file
@@ -39,10 +39,10 @@
 #include <zip.h>
 .PP
 int
-zip_stat(struct zip *archive, const char *fname, int flags, struct zip_stat *sb);
+zip_stat(struct zip *archive, const char *fname, zip_flags_t flags, struct zip_stat *sb);
 .PP
 int
-zip_stat_index(struct zip *archive, int index, int flags, struct zip_stat *sb);
+zip_stat_index(struct zip *archive, int index, zip_flags_t flags, struct zip_stat *sb);
 .SH "DESCRIPTION"
 The
 zip_stat
@@ -159,6 +159,6 @@
 zip_stat_init(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_stat.mdoc b/man/zip_stat.mdoc
index fcb9a2b..c1d0461 100644
--- a/man/zip_stat.mdoc
+++ b/man/zip_stat.mdoc
@@ -1,5 +1,5 @@
 .\" zip_stat.mdoc -- get information about file
-.\" Copyright (C) 2003-2011 Dieter Baron and Thomas Klausner
+.\" Copyright (C) 2003-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>
@@ -29,7 +29,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd February 14, 2011
+.Dd July 22, 2012
 .Dt ZIP_STAT 3
 .Os
 .Sh NAME
@@ -41,9 +41,9 @@
 .Sh SYNOPSIS
 .In zip.h
 .Ft int
-.Fn zip_stat "struct zip *archive" "const char *fname" "int flags" "struct zip_stat *sb"
+.Fn zip_stat "struct zip *archive" "const char *fname" "zip_flags_t flags" "struct zip_stat *sb"
 .Ft int
-.Fn zip_stat_index "struct zip *archive" "int index" "int flags" "struct zip_stat *sb"
+.Fn zip_stat_index "struct zip *archive" "int index" "zip_flags_t flags" "struct zip_stat *sb"
 .Sh DESCRIPTION
 The
 .Fn zip_stat
diff --git a/man/zip_stat_init.man b/man/zip_stat_init.man
index 4eccda5..cfaf4ea 100644
--- a/man/zip_stat_init.man
+++ b/man/zip_stat_init.man
@@ -60,6 +60,6 @@
 zip_stat(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_unchange.man b/man/zip_unchange.man
index 3db8e41..c3a503b 100644
--- a/man/zip_unchange.man
+++ b/man/zip_unchange.man
@@ -67,6 +67,6 @@
 zip_unchange_archive(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_unchange_all.man b/man/zip_unchange_all.man
index 44ed043..a8603e3 100644
--- a/man/zip_unchange_all.man
+++ b/man/zip_unchange_all.man
@@ -54,6 +54,6 @@
 zip_unchange_archive(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zip_unchange_archive.man b/man/zip_unchange_archive.man
index 772ae0e..d4f8b0d 100644
--- a/man/zip_unchange_archive.man
+++ b/man/zip_unchange_archive.man
@@ -54,6 +54,6 @@
 zip_unchange_all(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zipcmp.man b/man/zipcmp.man
index ee3e09d..41addae 100644
--- a/man/zipcmp.man
+++ b/man/zipcmp.man
@@ -78,6 +78,6 @@
 libzip(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/zipmerge.man b/man/zipmerge.man
index 20fdd42..8dd9840 100644
--- a/man/zipmerge.man
+++ b/man/zipmerge.man
@@ -85,6 +85,6 @@
 libzip(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/man/ziptorrent.man b/man/ziptorrent.man
index 59edc63..a6b1404 100644
--- a/man/ziptorrent.man
+++ b/man/ziptorrent.man
@@ -71,6 +71,6 @@
 libzip(3)
 .SH "AUTHORS"
 
-Dieter Baron <dillo@giga.or.at>
+Dieter Baron <dillo@nih.at>
 and
 Thomas Klausner <tk@giga.or.at>
diff --git a/regress/modify.c b/regress/modify.c
index 757b4b5..1938c45 100644
--- a/regress/modify.c
+++ b/regress/modify.c
@@ -37,6 +37,10 @@
 #include <stdlib.h>
 #include <string.h>
 
+#ifndef HAVE_GETOPT
+#include "getopt.h"
+#endif
+
 #include "zip.h"
 
 const char *prg;
diff --git a/regress/set_comment_all.c b/regress/set_comment_all.c
index be886f0..e2782b1 100644
--- a/regress/set_comment_all.c
+++ b/regress/set_comment_all.c
@@ -77,9 +77,9 @@
 		prg, buf);
     }
 
-    for (i=0; i<zip_get_num_files(za); i++) {
+    for (i=0; i<zip_get_num_entries(za, 0); i++) {
 	snprintf(buf, sizeof(buf), "File comment no %d", i);
-	if (zip_set_file_comment(za, i, buf, strlen(buf)) < 0) {
+	if (zip_file_set_comment(za, i, buf, strlen(buf), 0) < 0) {
 	    zip_error_to_str(buf, sizeof(buf), err, errno);
 	    fprintf(stderr, "%s: zip_set_file_comment on file %d failed: %s\n",
 		    prg, i, buf);
diff --git a/regress/set_comment_localonly.c b/regress/set_comment_localonly.c
index b01ff21..3bd608c 100644
--- a/regress/set_comment_localonly.c
+++ b/regress/set_comment_localonly.c
@@ -67,18 +67,18 @@
 	return 1;
     }
 
-    for (i=0; i<zip_get_num_files(za); i++) {
+    for (i=0; i<zip_get_num_entries(za, 0); i++) {
 	snprintf(buf, sizeof(buf), "File comment no %d", i);
-	if (zip_set_file_comment(za, i, buf, strlen(buf)) < 0) {
+	if (zip_file_set_comment(za, i, buf, strlen(buf), 0) < 0) {
 	    zip_error_to_str(buf, sizeof(buf), err, errno);
-	    fprintf(stderr, "%s: zip_set_file_comment on file %d failed: %s\n",
+	    fprintf(stderr, "%s: zip_file_set_comment on file %d failed: %s\n",
 		    prg, i, buf);
 	}
     }
     /* remove comment for third file */
-    if (zip_set_file_comment(za, 2, NULL, 0) < 0) {
+    if (zip_file_set_comment(za, 2, NULL, 0, 0) < 0) {
 	zip_error_to_str(buf, sizeof(buf), err, errno);
-	fprintf(stderr, "%s: zip_set_file_comment on file %d failed: %s\n",
+	fprintf(stderr, "%s: zip_file_set_comment on file %d failed: %s\n",
 		prg, i, buf);
     }
 
diff --git a/regress/set_comment_revert.c b/regress/set_comment_revert.c
index cd5611f..8bd93e1 100644
--- a/regress/set_comment_revert.c
+++ b/regress/set_comment_revert.c
@@ -77,9 +77,9 @@
 		prg, buf);
     }
 
-    for (i=0; i<zip_get_num_files(za); i++) {
+    for (i=0; i<zip_get_num_entries(za, 0); i++) {
 	snprintf(buf, sizeof(buf), "File comment no %d", i);
-	if (zip_set_file_comment(za, i, buf, strlen(buf)) < 0) {
+	if (zip_file_set_comment(za, i, buf, strlen(buf), 0) < 0) {
 	    zip_error_to_str(buf, sizeof(buf), err, errno);
 	    fprintf(stderr, "%s: zip_set_file_comment on file %d failed: %s\n",
 		    prg, i, buf);
diff --git a/regress/set_compression.c b/regress/set_compression.c
index e72d73d..29ca47e 100644
--- a/regress/set_compression.c
+++ b/regress/set_compression.c
@@ -50,7 +50,6 @@
     struct zip *za;
     char buf[100];
     int err;
-    int i;
     int idx;
 
     prg = argv[0];
diff --git a/xcode/libzip.xcodeproj/project.pbxproj b/xcode/libzip.xcodeproj/project.pbxproj
index b5831d5..65c6ba9 100644
--- a/xcode/libzip.xcodeproj/project.pbxproj
+++ b/xcode/libzip.xcodeproj/project.pbxproj
@@ -20,6 +20,29 @@
 			name = "command line tools";
 			productName = "command line tools";
 		};
+		4BACD5A715BC2D8200920691 /* test programs */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 4BACD5AE15BC2D8200920691 /* Build configuration list for PBXAggregateTarget "test programs" */;
+			buildPhases = (
+			);
+			dependencies = (
+				4BACD5B415BC2DB300920691 /* PBXTargetDependency */,
+				4BACD65515BC303B00920691 /* PBXTargetDependency */,
+				4BACD65715BC303B00920691 /* PBXTargetDependency */,
+				4BACD65915BC303B00920691 /* PBXTargetDependency */,
+				4BACD5B215BC2DB300920691 /* PBXTargetDependency */,
+				4BACD65B15BC303B00920691 /* PBXTargetDependency */,
+				4BACD65D15BC303B00920691 /* PBXTargetDependency */,
+				4BACD65F15BC303B00920691 /* PBXTargetDependency */,
+				4BACD66115BC303B00920691 /* PBXTargetDependency */,
+				4BACD66315BC303B00920691 /* PBXTargetDependency */,
+				4BACD66515BC303B00920691 /* PBXTargetDependency */,
+				4BACD66715BC303B00920691 /* PBXTargetDependency */,
+				4BACD66915BC303B00920691 /* PBXTargetDependency */,
+			);
+			name = "test programs";
+			productName = "command line tools";
+		};
 		4BDC72A115B1B6EA00236D3C /* Build iOS Framework */ = {
 			isa = PBXAggregateTarget;
 			buildConfigurationList = 4BDC72A215B1B6EA00236D3C /* Build configuration list for PBXAggregateTarget "Build iOS Framework" */;
@@ -130,6 +153,45 @@
 		4B01D73415B2F5F4002D5007 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BDC72A015B1B56400236D3C /* config.h */; };
 		4B01D73B15B2F67F002D5007 /* zip.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BDC729815B1B2A600236D3C /* zip.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		4B01D73C15B2F6AF002D5007 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD59315BC2CFA00920691 /* libzip Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D68B15B2F3F1002D5007 /* libzip Mac.framework */; };
+		4BACD59415BC2D0800920691 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD59515BC2D1C00920691 /* modify.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BACD57C15BC2AEF00920691 /* modify.c */; };
+		4BACD59E15BC2D4C00920691 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD59F15BC2D4C00920691 /* libzip Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D68B15B2F3F1002D5007 /* libzip Mac.framework */; };
+		4BACD5A615BC2D5F00920691 /* add_from_buffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BACD57615BC2AEF00920691 /* add_from_buffer.c */; };
+		4BACD5BB15BC2DC900920691 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD5BC15BC2DC900920691 /* libzip Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D68B15B2F3F1002D5007 /* libzip Mac.framework */; };
+		4BACD5C315BC2DE000920691 /* add_from_filep.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BACD57715BC2AEF00920691 /* add_from_filep.c */; };
+		4BACD5CA15BC2DF200920691 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD5CB15BC2DF200920691 /* libzip Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D68B15B2F3F1002D5007 /* libzip Mac.framework */; };
+		4BACD5D215BC2EFE00920691 /* fopen_unchanged.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BACD57A15BC2AEF00920691 /* fopen_unchanged.c */; };
+		4BACD5D915BC2F3700920691 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD5DA15BC2F3700920691 /* libzip Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D68B15B2F3F1002D5007 /* libzip Mac.framework */; };
+		4BACD5E115BC2F4500920691 /* fread.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BACD57B15BC2AEF00920691 /* fread.c */; };
+		4BACD5E815BC2F6600920691 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD5E915BC2F6600920691 /* libzip Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D68B15B2F3F1002D5007 /* libzip Mac.framework */; };
+		4BACD5F015BC2F7100920691 /* name_locate.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BACD57D15BC2AEF00920691 /* name_locate.c */; };
+		4BACD5F715BC2F9500920691 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD5F815BC2F9500920691 /* libzip Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D68B15B2F3F1002D5007 /* libzip Mac.framework */; };
+		4BACD60415BC2FA300920691 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD60515BC2FA300920691 /* libzip Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D68B15B2F3F1002D5007 /* libzip Mac.framework */; };
+		4BACD61115BC2FA900920691 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD61215BC2FA900920691 /* libzip Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D68B15B2F3F1002D5007 /* libzip Mac.framework */; };
+		4BACD61E15BC2FAC00920691 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD61F15BC2FAC00920691 /* libzip Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D68B15B2F3F1002D5007 /* libzip Mac.framework */; };
+		4BACD62B15BC2FAE00920691 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD62C15BC2FAE00920691 /* libzip Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D68B15B2F3F1002D5007 /* libzip Mac.framework */; };
+		4BACD63315BC2FB800920691 /* set_comment_all.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BACD57E15BC2AEF00920691 /* set_comment_all.c */; };
+		4BACD63415BC2FC800920691 /* set_comment_localonly.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BACD57F15BC2AEF00920691 /* set_comment_localonly.c */; };
+		4BACD63515BC2FD600920691 /* set_comment_removeglobal.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BACD58015BC2AEF00920691 /* set_comment_removeglobal.c */; };
+		4BACD63615BC2FE200920691 /* set_comment_revert.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BACD58115BC2AEF00920691 /* set_comment_revert.c */; };
+		4BACD63C15BC2FEF00920691 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD63D15BC2FEF00920691 /* libzip Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D68B15B2F3F1002D5007 /* libzip Mac.framework */; };
+		4BACD64415BC2FFD00920691 /* set_compression.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BACD58215BC2AEF00920691 /* set_compression.c */; };
+		4BACD64A15BC301300920691 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D70815B2F4CF002D5007 /* libz.dylib */; };
+		4BACD64B15BC301300920691 /* libzip Mac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B01D68B15B2F3F1002D5007 /* libzip Mac.framework */; };
+		4BACD65215BC301B00920691 /* stat_index.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BACD58315BC2AEF00920691 /* stat_index.c */; };
+		4BACD65315BC302500920691 /* tryopen.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BACD58415BC2AEF00920691 /* tryopen.c */; };
 		4BDC724415B1B25E00236D3C /* zip_add_dir.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BDC71F115B1B25E00236D3C /* zip_add_dir.c */; };
 		4BDC724515B1B25E00236D3C /* zip_add_entry.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BDC71F215B1B25E00236D3C /* zip_add_entry.c */; };
 		4BDC724615B1B25E00236D3C /* zip_add.c in Sources */ = {isa = PBXBuildFile; fileRef = 4BDC71F315B1B25E00236D3C /* zip_add.c */; };
@@ -260,6 +322,188 @@
 			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
 			remoteInfo = "libzip Mac";
 		};
+		4BACD59615BC2D3800920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
+			remoteInfo = "libzip Mac";
+		};
+		4BACD59A15BC2D4C00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
+			remoteInfo = "libzip Mac";
+		};
+		4BACD5B115BC2DB300920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4BACD58815BC2CEA00920691;
+			remoteInfo = modify;
+		};
+		4BACD5B315BC2DB300920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4BACD59815BC2D4C00920691;
+			remoteInfo = add_from_buffer;
+		};
+		4BACD5B715BC2DC900920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
+			remoteInfo = "libzip Mac";
+		};
+		4BACD5C615BC2DF200920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
+			remoteInfo = "libzip Mac";
+		};
+		4BACD5D515BC2F3700920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
+			remoteInfo = "libzip Mac";
+		};
+		4BACD5E415BC2F6600920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
+			remoteInfo = "libzip Mac";
+		};
+		4BACD5F315BC2F9500920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
+			remoteInfo = "libzip Mac";
+		};
+		4BACD60115BC2FA300920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
+			remoteInfo = "libzip Mac";
+		};
+		4BACD60E15BC2FA900920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
+			remoteInfo = "libzip Mac";
+		};
+		4BACD61B15BC2FAC00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
+			remoteInfo = "libzip Mac";
+		};
+		4BACD62815BC2FAE00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
+			remoteInfo = "libzip Mac";
+		};
+		4BACD63915BC2FEF00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
+			remoteInfo = "libzip Mac";
+		};
+		4BACD64715BC301300920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4B01D68A15B2F3F1002D5007;
+			remoteInfo = "libzip Mac";
+		};
+		4BACD65415BC303B00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4BACD5B515BC2DC900920691;
+			remoteInfo = add_from_filep;
+		};
+		4BACD65615BC303B00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4BACD5C415BC2DF200920691;
+			remoteInfo = fopen_unchanged;
+		};
+		4BACD65815BC303B00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4BACD5D315BC2F3700920691;
+			remoteInfo = fread;
+		};
+		4BACD65A15BC303B00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4BACD5E215BC2F6600920691;
+			remoteInfo = name_locate;
+		};
+		4BACD65C15BC303B00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4BACD5F115BC2F9500920691;
+			remoteInfo = set_comment_all;
+		};
+		4BACD65E15BC303B00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4BACD5FF15BC2FA300920691;
+			remoteInfo = set_comment_localonly;
+		};
+		4BACD66015BC303B00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4BACD60C15BC2FA900920691;
+			remoteInfo = set_comment_removeglobal;
+		};
+		4BACD66215BC303B00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4BACD61915BC2FAC00920691;
+			remoteInfo = set_comment_revert;
+		};
+		4BACD66415BC303B00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4BACD62615BC2FAE00920691;
+			remoteInfo = set_compression;
+		};
+		4BACD66615BC303B00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4BACD63715BC2FEF00920691;
+			remoteInfo = stat_index;
+		};
+		4BACD66815BC303B00920691 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4BDC71BF15B181DA00236D3C /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 4BACD64515BC301300920691;
+			remoteInfo = tryopen;
+		};
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXCopyFilesBuildPhase section */
@@ -290,6 +534,123 @@
 			);
 			runOnlyForDeploymentPostprocessing = 1;
 		};
+		4BACD58715BC2CEA00920691 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5A015BC2D4C00920691 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5BD15BC2DC900920691 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5CC15BC2DF200920691 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5DB15BC2F3700920691 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5EA15BC2F6600920691 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5F915BC2F9500920691 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD60615BC2FA300920691 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD61315BC2FA900920691 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD62015BC2FAC00920691 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD62D15BC2FAE00920691 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD63E15BC2FEF00920691 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD64C15BC301300920691 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 /* End PBXCopyFilesBuildPhase section */
 
 /* Begin PBXFileReference section */
@@ -302,6 +663,92 @@
 		4B01D72215B2F572002D5007 /* zipmerge.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zipmerge.c; path = ../src/zipmerge.c; sourceTree = "<group>"; };
 		4B01D72315B2F572002D5007 /* ziptorrent.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = ziptorrent.c; path = ../src/ziptorrent.c; sourceTree = "<group>"; };
 		4B01D73D15B2FB6B002D5007 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = SOURCE_ROOT; };
+		4B28A9EC15BACC3900D0C17D /* libzip.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = libzip.mdoc; path = ../man/libzip.mdoc; sourceTree = "<group>"; };
+		4B28A9ED15BACC3900D0C17D /* zip_add_dir.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_add_dir.mdoc; path = ../man/zip_add_dir.mdoc; sourceTree = "<group>"; };
+		4B28A9EE15BACC3900D0C17D /* zip_add.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_add.mdoc; path = ../man/zip_add.mdoc; sourceTree = "<group>"; };
+		4B28A9EF15BACC3900D0C17D /* zip_close.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_close.mdoc; path = ../man/zip_close.mdoc; sourceTree = "<group>"; };
+		4B28A9F015BACC3900D0C17D /* zip_delete.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_delete.mdoc; path = ../man/zip_delete.mdoc; sourceTree = "<group>"; };
+		4B28A9F115BACC3900D0C17D /* zip_dir_add.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_dir_add.mdoc; path = ../man/zip_dir_add.mdoc; sourceTree = "<group>"; };
+		4B28A9F215BACC3900D0C17D /* zip_discard.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_discard.mdoc; path = ../man/zip_discard.mdoc; sourceTree = "<group>"; };
+		4B28A9F315BACC3900D0C17D /* zip_error_clear.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_error_clear.mdoc; path = ../man/zip_error_clear.mdoc; sourceTree = "<group>"; };
+		4B28A9F415BACC3900D0C17D /* zip_error_get_sys_type.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_error_get_sys_type.mdoc; path = ../man/zip_error_get_sys_type.mdoc; sourceTree = "<group>"; };
+		4B28A9F515BACC3900D0C17D /* zip_error_get.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_error_get.mdoc; path = ../man/zip_error_get.mdoc; sourceTree = "<group>"; };
+		4B28A9F615BACC3900D0C17D /* zip_error_to_str.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_error_to_str.mdoc; path = ../man/zip_error_to_str.mdoc; sourceTree = "<group>"; };
+		4B28A9F715BACC3900D0C17D /* zip_errors.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_errors.mdoc; path = ../man/zip_errors.mdoc; sourceTree = "<group>"; };
+		4B28A9F815BACC3900D0C17D /* zip_fclose.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_fclose.mdoc; path = ../man/zip_fclose.mdoc; sourceTree = "<group>"; };
+		4B28A9F915BACC3900D0C17D /* zip_fdopen.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_fdopen.mdoc; path = ../man/zip_fdopen.mdoc; sourceTree = "<group>"; };
+		4B28A9FA15BACC3900D0C17D /* zip_file_add.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_file_add.mdoc; path = ../man/zip_file_add.mdoc; sourceTree = "<group>"; };
+		4B28A9FB15BACC3900D0C17D /* zip_file_extra_field_delete.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_file_extra_field_delete.mdoc; path = ../man/zip_file_extra_field_delete.mdoc; sourceTree = "<group>"; };
+		4B28A9FC15BACC3900D0C17D /* zip_file_extra_field_get.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_file_extra_field_get.mdoc; path = ../man/zip_file_extra_field_get.mdoc; sourceTree = "<group>"; };
+		4B28A9FD15BACC3900D0C17D /* zip_file_extra_field_set.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_file_extra_field_set.mdoc; path = ../man/zip_file_extra_field_set.mdoc; sourceTree = "<group>"; };
+		4B28A9FE15BACC3900D0C17D /* zip_file_extra_fields_count.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_file_extra_fields_count.mdoc; path = ../man/zip_file_extra_fields_count.mdoc; sourceTree = "<group>"; };
+		4B28A9FF15BACC3900D0C17D /* zip_file_get_comment.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_file_get_comment.mdoc; path = ../man/zip_file_get_comment.mdoc; sourceTree = "<group>"; };
+		4B28AA0015BACC3900D0C17D /* zip_file_rename.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_file_rename.mdoc; path = ../man/zip_file_rename.mdoc; sourceTree = "<group>"; };
+		4B28AA0115BACC3900D0C17D /* zip_file_set_comment.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_file_set_comment.mdoc; path = ../man/zip_file_set_comment.mdoc; sourceTree = "<group>"; };
+		4B28AA0215BACC3900D0C17D /* zip_file_strerror.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_file_strerror.mdoc; path = ../man/zip_file_strerror.mdoc; sourceTree = "<group>"; };
+		4B28AA0315BACC3900D0C17D /* zip_fopen_encrypted.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_fopen_encrypted.mdoc; path = ../man/zip_fopen_encrypted.mdoc; sourceTree = "<group>"; };
+		4B28AA0415BACC3900D0C17D /* zip_fopen.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_fopen.mdoc; path = ../man/zip_fopen.mdoc; sourceTree = "<group>"; };
+		4B28AA0515BACC3900D0C17D /* zip_fread.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_fread.mdoc; path = ../man/zip_fread.mdoc; sourceTree = "<group>"; };
+		4B28AA0615BACC3900D0C17D /* zip_get_archive_comment.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_get_archive_comment.mdoc; path = ../man/zip_get_archive_comment.mdoc; sourceTree = "<group>"; };
+		4B28AA0715BACC3900D0C17D /* zip_get_archive_flag.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_get_archive_flag.mdoc; path = ../man/zip_get_archive_flag.mdoc; sourceTree = "<group>"; };
+		4B28AA0815BACC3900D0C17D /* zip_get_file_comment.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_get_file_comment.mdoc; path = ../man/zip_get_file_comment.mdoc; sourceTree = "<group>"; };
+		4B28AA0915BACC3900D0C17D /* zip_get_name.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_get_name.mdoc; path = ../man/zip_get_name.mdoc; sourceTree = "<group>"; };
+		4B28AA0A15BACC3900D0C17D /* zip_get_num_entries.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_get_num_entries.mdoc; path = ../man/zip_get_num_entries.mdoc; sourceTree = "<group>"; };
+		4B28AA0B15BACC3900D0C17D /* zip_get_num_files.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_get_num_files.mdoc; path = ../man/zip_get_num_files.mdoc; sourceTree = "<group>"; };
+		4B28AA0C15BACC3900D0C17D /* zip_name_locate.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_name_locate.mdoc; path = ../man/zip_name_locate.mdoc; sourceTree = "<group>"; };
+		4B28AA0D15BACC3900D0C17D /* zip_open.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_open.mdoc; path = ../man/zip_open.mdoc; sourceTree = "<group>"; };
+		4B28AA0E15BACC3900D0C17D /* zip_rename.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_rename.mdoc; path = ../man/zip_rename.mdoc; sourceTree = "<group>"; };
+		4B28AA0F15BACC3900D0C17D /* zip_set_archive_comment.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_set_archive_comment.mdoc; path = ../man/zip_set_archive_comment.mdoc; sourceTree = "<group>"; };
+		4B28AA1015BACC3900D0C17D /* zip_set_archive_flag.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_set_archive_flag.mdoc; path = ../man/zip_set_archive_flag.mdoc; sourceTree = "<group>"; };
+		4B28AA1115BACC3900D0C17D /* zip_set_default_password.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_set_default_password.mdoc; path = ../man/zip_set_default_password.mdoc; sourceTree = "<group>"; };
+		4B28AA1215BACC3900D0C17D /* zip_set_file_comment.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_set_file_comment.mdoc; path = ../man/zip_set_file_comment.mdoc; sourceTree = "<group>"; };
+		4B28AA1315BACC3900D0C17D /* zip_set_file_compression.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_set_file_compression.mdoc; path = ../man/zip_set_file_compression.mdoc; sourceTree = "<group>"; };
+		4B28AA1415BACC3900D0C17D /* zip_source_buffer.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_source_buffer.mdoc; path = ../man/zip_source_buffer.mdoc; sourceTree = "<group>"; };
+		4B28AA1515BACC3900D0C17D /* zip_source_file.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_source_file.mdoc; path = ../man/zip_source_file.mdoc; sourceTree = "<group>"; };
+		4B28AA1615BACC3900D0C17D /* zip_source_filep.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_source_filep.mdoc; path = ../man/zip_source_filep.mdoc; sourceTree = "<group>"; };
+		4B28AA1715BACC3900D0C17D /* zip_source_free.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_source_free.mdoc; path = ../man/zip_source_free.mdoc; sourceTree = "<group>"; };
+		4B28AA1815BACC3900D0C17D /* zip_source_function.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_source_function.mdoc; path = ../man/zip_source_function.mdoc; sourceTree = "<group>"; };
+		4B28AA1915BACC3900D0C17D /* zip_source_zip.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_source_zip.mdoc; path = ../man/zip_source_zip.mdoc; sourceTree = "<group>"; };
+		4B28AA1A15BACC3900D0C17D /* zip_stat_init.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_stat_init.mdoc; path = ../man/zip_stat_init.mdoc; sourceTree = "<group>"; };
+		4B28AA1B15BACC3900D0C17D /* zip_stat.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_stat.mdoc; path = ../man/zip_stat.mdoc; sourceTree = "<group>"; };
+		4B28AA1C15BACC3900D0C17D /* zip_unchange_all.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_unchange_all.mdoc; path = ../man/zip_unchange_all.mdoc; sourceTree = "<group>"; };
+		4B28AA1D15BACC3900D0C17D /* zip_unchange_archive.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_unchange_archive.mdoc; path = ../man/zip_unchange_archive.mdoc; sourceTree = "<group>"; };
+		4B28AA1E15BACC3900D0C17D /* zip_unchange.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zip_unchange.mdoc; path = ../man/zip_unchange.mdoc; sourceTree = "<group>"; };
+		4B28AA1F15BACC3900D0C17D /* zipcmp.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zipcmp.mdoc; path = ../man/zipcmp.mdoc; sourceTree = "<group>"; };
+		4B28AA2015BACC3900D0C17D /* zipmerge.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = zipmerge.mdoc; path = ../man/zipmerge.mdoc; sourceTree = "<group>"; };
+		4B28AA2115BACC3900D0C17D /* ziptorrent.mdoc */ = {isa = PBXFileReference; lastKnownFileType = text; name = ziptorrent.mdoc; path = ../man/ziptorrent.mdoc; sourceTree = "<group>"; };
+		4B28AA2215BAD4E200D0C17D /* API-CHANGES */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "API-CHANGES"; path = "../API-CHANGES"; sourceTree = "<group>"; };
+		4B28AA2315BAD4E200D0C17D /* AUTHORS */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = AUTHORS; path = ../AUTHORS; sourceTree = "<group>"; };
+		4B28AA2415BAD4E200D0C17D /* NEWS */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = NEWS; path = ../NEWS; sourceTree = "<group>"; };
+		4B28AA2515BAD4E200D0C17D /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = README; path = ../README; sourceTree = "<group>"; };
+		4B28AA2615BAD4E200D0C17D /* THANKS */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = THANKS; path = ../THANKS; sourceTree = "<group>"; };
+		4B28AA2715BAD4E200D0C17D /* TODO */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = TODO; path = ../TODO; sourceTree = "<group>"; };
+		4BACD57615BC2AEF00920691 /* add_from_buffer.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = add_from_buffer.c; path = ../regress/add_from_buffer.c; sourceTree = "<group>"; };
+		4BACD57715BC2AEF00920691 /* add_from_filep.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = add_from_filep.c; path = ../regress/add_from_filep.c; sourceTree = "<group>"; };
+		4BACD57A15BC2AEF00920691 /* fopen_unchanged.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fopen_unchanged.c; path = ../regress/fopen_unchanged.c; sourceTree = "<group>"; };
+		4BACD57B15BC2AEF00920691 /* fread.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fread.c; path = ../regress/fread.c; sourceTree = "<group>"; };
+		4BACD57C15BC2AEF00920691 /* modify.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = modify.c; path = ../regress/modify.c; sourceTree = "<group>"; };
+		4BACD57D15BC2AEF00920691 /* name_locate.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = name_locate.c; path = ../regress/name_locate.c; sourceTree = "<group>"; };
+		4BACD57E15BC2AEF00920691 /* set_comment_all.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = set_comment_all.c; path = ../regress/set_comment_all.c; sourceTree = "<group>"; };
+		4BACD57F15BC2AEF00920691 /* set_comment_localonly.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = set_comment_localonly.c; path = ../regress/set_comment_localonly.c; sourceTree = "<group>"; };
+		4BACD58015BC2AEF00920691 /* set_comment_removeglobal.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = set_comment_removeglobal.c; path = ../regress/set_comment_removeglobal.c; sourceTree = "<group>"; };
+		4BACD58115BC2AEF00920691 /* set_comment_revert.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = set_comment_revert.c; path = ../regress/set_comment_revert.c; sourceTree = "<group>"; };
+		4BACD58215BC2AEF00920691 /* set_compression.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = set_compression.c; path = ../regress/set_compression.c; sourceTree = "<group>"; };
+		4BACD58315BC2AEF00920691 /* stat_index.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = stat_index.c; path = ../regress/stat_index.c; sourceTree = "<group>"; };
+		4BACD58415BC2AEF00920691 /* tryopen.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tryopen.c; path = ../regress/tryopen.c; sourceTree = "<group>"; };
+		4BACD58915BC2CEA00920691 /* modify */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = modify; sourceTree = BUILT_PRODUCTS_DIR; };
+		4BACD5A415BC2D4C00920691 /* modify copy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "modify copy"; sourceTree = BUILT_PRODUCTS_DIR; };
+		4BACD5C115BC2DC900920691 /* add_from_buffer copy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "add_from_buffer copy"; sourceTree = BUILT_PRODUCTS_DIR; };
+		4BACD5D015BC2DF200920691 /* add_from_filep copy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "add_from_filep copy"; sourceTree = BUILT_PRODUCTS_DIR; };
+		4BACD5DF15BC2F3700920691 /* modify copy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "modify copy"; sourceTree = BUILT_PRODUCTS_DIR; };
+		4BACD5EE15BC2F6600920691 /* modify copy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "modify copy"; sourceTree = BUILT_PRODUCTS_DIR; };
+		4BACD5FD15BC2F9500920691 /* name_locate copy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "name_locate copy"; sourceTree = BUILT_PRODUCTS_DIR; };
+		4BACD60A15BC2FA300920691 /* set_comment_ copy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "set_comment_ copy"; sourceTree = BUILT_PRODUCTS_DIR; };
+		4BACD61715BC2FA900920691 /* set_comment_ copy 2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "set_comment_ copy 2"; sourceTree = BUILT_PRODUCTS_DIR; };
+		4BACD62415BC2FAC00920691 /* set_comment_ copy 3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "set_comment_ copy 3"; sourceTree = BUILT_PRODUCTS_DIR; };
+		4BACD63115BC2FAE00920691 /* set_comment_ copy 4 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "set_comment_ copy 4"; sourceTree = BUILT_PRODUCTS_DIR; };
+		4BACD64215BC2FEF00920691 /* set_comment_ copy 4 copy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "set_comment_ copy 4 copy"; sourceTree = BUILT_PRODUCTS_DIR; };
+		4BACD65015BC301300920691 /* set_comment_ copy 4 copy copy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "set_comment_ copy 4 copy copy"; sourceTree = BUILT_PRODUCTS_DIR; };
 		4BDC71E015B182B200236D3C /* libzip.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = libzip.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		4BDC71F115B1B25E00236D3C /* zip_add_dir.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = zip_add_dir.c; path = ../lib/zip_add_dir.c; sourceTree = "<group>"; };
 		4BDC71F215B1B25E00236D3C /* zip_add_entry.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = zip_add_entry.c; path = ../lib/zip_add_entry.c; sourceTree = "<group>"; };
@@ -428,6 +875,123 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		4BACD58615BC2CEA00920691 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD59415BC2D0800920691 /* libz.dylib in Frameworks */,
+				4BACD59315BC2CFA00920691 /* libzip Mac.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD59D15BC2D4C00920691 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD59E15BC2D4C00920691 /* libz.dylib in Frameworks */,
+				4BACD59F15BC2D4C00920691 /* libzip Mac.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5BA15BC2DC900920691 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD5BB15BC2DC900920691 /* libz.dylib in Frameworks */,
+				4BACD5BC15BC2DC900920691 /* libzip Mac.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5C915BC2DF200920691 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD5CA15BC2DF200920691 /* libz.dylib in Frameworks */,
+				4BACD5CB15BC2DF200920691 /* libzip Mac.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5D815BC2F3700920691 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD5D915BC2F3700920691 /* libz.dylib in Frameworks */,
+				4BACD5DA15BC2F3700920691 /* libzip Mac.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5E715BC2F6600920691 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD5E815BC2F6600920691 /* libz.dylib in Frameworks */,
+				4BACD5E915BC2F6600920691 /* libzip Mac.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5F615BC2F9500920691 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD5F715BC2F9500920691 /* libz.dylib in Frameworks */,
+				4BACD5F815BC2F9500920691 /* libzip Mac.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD60315BC2FA300920691 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD60415BC2FA300920691 /* libz.dylib in Frameworks */,
+				4BACD60515BC2FA300920691 /* libzip Mac.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD61015BC2FA900920691 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD61115BC2FA900920691 /* libz.dylib in Frameworks */,
+				4BACD61215BC2FA900920691 /* libzip Mac.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD61D15BC2FAC00920691 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD61E15BC2FAC00920691 /* libz.dylib in Frameworks */,
+				4BACD61F15BC2FAC00920691 /* libzip Mac.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD62A15BC2FAE00920691 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD62B15BC2FAE00920691 /* libz.dylib in Frameworks */,
+				4BACD62C15BC2FAE00920691 /* libzip Mac.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD63B15BC2FEF00920691 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD63C15BC2FEF00920691 /* libz.dylib in Frameworks */,
+				4BACD63D15BC2FEF00920691 /* libzip Mac.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD64915BC301300920691 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD64A15BC301300920691 /* libz.dylib in Frameworks */,
+				4BACD64B15BC301300920691 /* libzip Mac.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		4BDC71DD15B182B200236D3C /* Frameworks */ = {
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
@@ -448,12 +1012,109 @@
 			name = src;
 			sourceTree = "<group>";
 		};
+		4B28A9EA15BACBE100D0C17D /* man */ = {
+			isa = PBXGroup;
+			children = (
+				4B28A9EC15BACC3900D0C17D /* libzip.mdoc */,
+				4B28A9ED15BACC3900D0C17D /* zip_add_dir.mdoc */,
+				4B28A9EE15BACC3900D0C17D /* zip_add.mdoc */,
+				4B28A9EF15BACC3900D0C17D /* zip_close.mdoc */,
+				4B28A9F015BACC3900D0C17D /* zip_delete.mdoc */,
+				4B28A9F115BACC3900D0C17D /* zip_dir_add.mdoc */,
+				4B28A9F215BACC3900D0C17D /* zip_discard.mdoc */,
+				4B28A9F315BACC3900D0C17D /* zip_error_clear.mdoc */,
+				4B28A9F415BACC3900D0C17D /* zip_error_get_sys_type.mdoc */,
+				4B28A9F515BACC3900D0C17D /* zip_error_get.mdoc */,
+				4B28A9F615BACC3900D0C17D /* zip_error_to_str.mdoc */,
+				4B28A9F715BACC3900D0C17D /* zip_errors.mdoc */,
+				4B28A9F815BACC3900D0C17D /* zip_fclose.mdoc */,
+				4B28A9F915BACC3900D0C17D /* zip_fdopen.mdoc */,
+				4B28A9FA15BACC3900D0C17D /* zip_file_add.mdoc */,
+				4B28A9FB15BACC3900D0C17D /* zip_file_extra_field_delete.mdoc */,
+				4B28A9FC15BACC3900D0C17D /* zip_file_extra_field_get.mdoc */,
+				4B28A9FD15BACC3900D0C17D /* zip_file_extra_field_set.mdoc */,
+				4B28A9FE15BACC3900D0C17D /* zip_file_extra_fields_count.mdoc */,
+				4B28A9FF15BACC3900D0C17D /* zip_file_get_comment.mdoc */,
+				4B28AA0015BACC3900D0C17D /* zip_file_rename.mdoc */,
+				4B28AA0115BACC3900D0C17D /* zip_file_set_comment.mdoc */,
+				4B28AA0215BACC3900D0C17D /* zip_file_strerror.mdoc */,
+				4B28AA0315BACC3900D0C17D /* zip_fopen_encrypted.mdoc */,
+				4B28AA0415BACC3900D0C17D /* zip_fopen.mdoc */,
+				4B28AA0515BACC3900D0C17D /* zip_fread.mdoc */,
+				4B28AA0615BACC3900D0C17D /* zip_get_archive_comment.mdoc */,
+				4B28AA0715BACC3900D0C17D /* zip_get_archive_flag.mdoc */,
+				4B28AA0815BACC3900D0C17D /* zip_get_file_comment.mdoc */,
+				4B28AA0915BACC3900D0C17D /* zip_get_name.mdoc */,
+				4B28AA0A15BACC3900D0C17D /* zip_get_num_entries.mdoc */,
+				4B28AA0B15BACC3900D0C17D /* zip_get_num_files.mdoc */,
+				4B28AA0C15BACC3900D0C17D /* zip_name_locate.mdoc */,
+				4B28AA0D15BACC3900D0C17D /* zip_open.mdoc */,
+				4B28AA0E15BACC3900D0C17D /* zip_rename.mdoc */,
+				4B28AA0F15BACC3900D0C17D /* zip_set_archive_comment.mdoc */,
+				4B28AA1015BACC3900D0C17D /* zip_set_archive_flag.mdoc */,
+				4B28AA1115BACC3900D0C17D /* zip_set_default_password.mdoc */,
+				4B28AA1215BACC3900D0C17D /* zip_set_file_comment.mdoc */,
+				4B28AA1315BACC3900D0C17D /* zip_set_file_compression.mdoc */,
+				4B28AA1415BACC3900D0C17D /* zip_source_buffer.mdoc */,
+				4B28AA1515BACC3900D0C17D /* zip_source_file.mdoc */,
+				4B28AA1615BACC3900D0C17D /* zip_source_filep.mdoc */,
+				4B28AA1715BACC3900D0C17D /* zip_source_free.mdoc */,
+				4B28AA1815BACC3900D0C17D /* zip_source_function.mdoc */,
+				4B28AA1915BACC3900D0C17D /* zip_source_zip.mdoc */,
+				4B28AA1A15BACC3900D0C17D /* zip_stat_init.mdoc */,
+				4B28AA1B15BACC3900D0C17D /* zip_stat.mdoc */,
+				4B28AA1C15BACC3900D0C17D /* zip_unchange_all.mdoc */,
+				4B28AA1D15BACC3900D0C17D /* zip_unchange_archive.mdoc */,
+				4B28AA1E15BACC3900D0C17D /* zip_unchange.mdoc */,
+				4B28AA1F15BACC3900D0C17D /* zipcmp.mdoc */,
+				4B28AA2015BACC3900D0C17D /* zipmerge.mdoc */,
+				4B28AA2115BACC3900D0C17D /* ziptorrent.mdoc */,
+			);
+			name = man;
+			sourceTree = "<group>";
+		};
+		4B28AA2815BAD4F800D0C17D /* info */ = {
+			isa = PBXGroup;
+			children = (
+				4B28AA2215BAD4E200D0C17D /* API-CHANGES */,
+				4B28AA2315BAD4E200D0C17D /* AUTHORS */,
+				4B28AA2415BAD4E200D0C17D /* NEWS */,
+				4B28AA2515BAD4E200D0C17D /* README */,
+				4B28AA2615BAD4E200D0C17D /* THANKS */,
+				4B28AA2715BAD4E200D0C17D /* TODO */,
+			);
+			name = info;
+			sourceTree = "<group>";
+		};
+		4BACD57415BC2AA100920691 /* regress */ = {
+			isa = PBXGroup;
+			children = (
+				4BACD57615BC2AEF00920691 /* add_from_buffer.c */,
+				4BACD57715BC2AEF00920691 /* add_from_filep.c */,
+				4BACD57A15BC2AEF00920691 /* fopen_unchanged.c */,
+				4BACD57B15BC2AEF00920691 /* fread.c */,
+				4BACD57C15BC2AEF00920691 /* modify.c */,
+				4BACD57D15BC2AEF00920691 /* name_locate.c */,
+				4BACD57E15BC2AEF00920691 /* set_comment_all.c */,
+				4BACD57F15BC2AEF00920691 /* set_comment_localonly.c */,
+				4BACD58015BC2AEF00920691 /* set_comment_removeglobal.c */,
+				4BACD58115BC2AEF00920691 /* set_comment_revert.c */,
+				4BACD58215BC2AEF00920691 /* set_compression.c */,
+				4BACD58315BC2AEF00920691 /* stat_index.c */,
+				4BACD58415BC2AEF00920691 /* tryopen.c */,
+			);
+			name = regress;
+			sourceTree = "<group>";
+		};
 		4BDC71BD15B181DA00236D3C = {
 			isa = PBXGroup;
 			children = (
+				4B28AA2815BAD4F800D0C17D /* info */,
 				4BDC71E415B182B200236D3C /* Supporting Files */,
 				4BDC71E315B182B200236D3C /* libzip */,
 				4B01D72015B2F54C002D5007 /* src */,
+				4BACD57415BC2AA100920691 /* regress */,
+				4B28A9EA15BACBE100D0C17D /* man */,
 				4BDC71CA15B181DA00236D3C /* Frameworks */,
 				4BDC71C915B181DA00236D3C /* Products */,
 			);
@@ -468,6 +1129,19 @@
 				4B01D6FD15B2F4B1002D5007 /* zipmerge */,
 				4B01D71315B2F4EB002D5007 /* zipmerge copy */,
 				4B01D71E15B2F4F7002D5007 /* zipcmp copy */,
+				4BACD58915BC2CEA00920691 /* modify */,
+				4BACD5A415BC2D4C00920691 /* modify copy */,
+				4BACD5C115BC2DC900920691 /* add_from_buffer copy */,
+				4BACD5D015BC2DF200920691 /* add_from_filep copy */,
+				4BACD5DF15BC2F3700920691 /* modify copy */,
+				4BACD5EE15BC2F6600920691 /* modify copy */,
+				4BACD5FD15BC2F9500920691 /* name_locate copy */,
+				4BACD60A15BC2FA300920691 /* set_comment_ copy */,
+				4BACD61715BC2FA900920691 /* set_comment_ copy 2 */,
+				4BACD62415BC2FAC00920691 /* set_comment_ copy 3 */,
+				4BACD63115BC2FAE00920691 /* set_comment_ copy 4 */,
+				4BACD64215BC2FEF00920691 /* set_comment_ copy 4 copy */,
+				4BACD65015BC301300920691 /* set_comment_ copy 4 copy copy */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -680,6 +1354,240 @@
 			productReference = 4B01D71E15B2F4F7002D5007 /* zipcmp copy */;
 			productType = "com.apple.product-type.tool";
 		};
+		4BACD58815BC2CEA00920691 /* modify */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4BACD59015BC2CEA00920691 /* Build configuration list for PBXNativeTarget "modify" */;
+			buildPhases = (
+				4BACD58515BC2CEA00920691 /* Sources */,
+				4BACD58615BC2CEA00920691 /* Frameworks */,
+				4BACD58715BC2CEA00920691 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4BACD59715BC2D3800920691 /* PBXTargetDependency */,
+			);
+			name = modify;
+			productName = modify;
+			productReference = 4BACD58915BC2CEA00920691 /* modify */;
+			productType = "com.apple.product-type.tool";
+		};
+		4BACD59815BC2D4C00920691 /* add_from_buffer */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4BACD5A115BC2D4C00920691 /* Build configuration list for PBXNativeTarget "add_from_buffer" */;
+			buildPhases = (
+				4BACD59B15BC2D4C00920691 /* Sources */,
+				4BACD59D15BC2D4C00920691 /* Frameworks */,
+				4BACD5A015BC2D4C00920691 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4BACD59915BC2D4C00920691 /* PBXTargetDependency */,
+			);
+			name = add_from_buffer;
+			productName = modify;
+			productReference = 4BACD5A415BC2D4C00920691 /* modify copy */;
+			productType = "com.apple.product-type.tool";
+		};
+		4BACD5B515BC2DC900920691 /* add_from_filep */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4BACD5BE15BC2DC900920691 /* Build configuration list for PBXNativeTarget "add_from_filep" */;
+			buildPhases = (
+				4BACD5B815BC2DC900920691 /* Sources */,
+				4BACD5BA15BC2DC900920691 /* Frameworks */,
+				4BACD5BD15BC2DC900920691 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4BACD5B615BC2DC900920691 /* PBXTargetDependency */,
+			);
+			name = add_from_filep;
+			productName = modify;
+			productReference = 4BACD5C115BC2DC900920691 /* add_from_buffer copy */;
+			productType = "com.apple.product-type.tool";
+		};
+		4BACD5C415BC2DF200920691 /* fopen_unchanged */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4BACD5CD15BC2DF200920691 /* Build configuration list for PBXNativeTarget "fopen_unchanged" */;
+			buildPhases = (
+				4BACD5C715BC2DF200920691 /* Sources */,
+				4BACD5C915BC2DF200920691 /* Frameworks */,
+				4BACD5CC15BC2DF200920691 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4BACD5C515BC2DF200920691 /* PBXTargetDependency */,
+			);
+			name = fopen_unchanged;
+			productName = modify;
+			productReference = 4BACD5D015BC2DF200920691 /* add_from_filep copy */;
+			productType = "com.apple.product-type.tool";
+		};
+		4BACD5D315BC2F3700920691 /* fread */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4BACD5DC15BC2F3700920691 /* Build configuration list for PBXNativeTarget "fread" */;
+			buildPhases = (
+				4BACD5D615BC2F3700920691 /* Sources */,
+				4BACD5D815BC2F3700920691 /* Frameworks */,
+				4BACD5DB15BC2F3700920691 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4BACD5D415BC2F3700920691 /* PBXTargetDependency */,
+			);
+			name = fread;
+			productName = modify;
+			productReference = 4BACD5DF15BC2F3700920691 /* modify copy */;
+			productType = "com.apple.product-type.tool";
+		};
+		4BACD5E215BC2F6600920691 /* name_locate */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4BACD5EB15BC2F6600920691 /* Build configuration list for PBXNativeTarget "name_locate" */;
+			buildPhases = (
+				4BACD5E515BC2F6600920691 /* Sources */,
+				4BACD5E715BC2F6600920691 /* Frameworks */,
+				4BACD5EA15BC2F6600920691 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4BACD5E315BC2F6600920691 /* PBXTargetDependency */,
+			);
+			name = name_locate;
+			productName = modify;
+			productReference = 4BACD5EE15BC2F6600920691 /* modify copy */;
+			productType = "com.apple.product-type.tool";
+		};
+		4BACD5F115BC2F9500920691 /* set_comment_all */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4BACD5FA15BC2F9500920691 /* Build configuration list for PBXNativeTarget "set_comment_all" */;
+			buildPhases = (
+				4BACD5F415BC2F9500920691 /* Sources */,
+				4BACD5F615BC2F9500920691 /* Frameworks */,
+				4BACD5F915BC2F9500920691 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4BACD5F215BC2F9500920691 /* PBXTargetDependency */,
+			);
+			name = set_comment_all;
+			productName = modify;
+			productReference = 4BACD5FD15BC2F9500920691 /* name_locate copy */;
+			productType = "com.apple.product-type.tool";
+		};
+		4BACD5FF15BC2FA300920691 /* set_comment_localonly */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4BACD60715BC2FA300920691 /* Build configuration list for PBXNativeTarget "set_comment_localonly" */;
+			buildPhases = (
+				4BACD60215BC2FA300920691 /* Sources */,
+				4BACD60315BC2FA300920691 /* Frameworks */,
+				4BACD60615BC2FA300920691 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4BACD60015BC2FA300920691 /* PBXTargetDependency */,
+			);
+			name = set_comment_localonly;
+			productName = modify;
+			productReference = 4BACD60A15BC2FA300920691 /* set_comment_ copy */;
+			productType = "com.apple.product-type.tool";
+		};
+		4BACD60C15BC2FA900920691 /* set_comment_removeglobal */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4BACD61415BC2FA900920691 /* Build configuration list for PBXNativeTarget "set_comment_removeglobal" */;
+			buildPhases = (
+				4BACD60F15BC2FA900920691 /* Sources */,
+				4BACD61015BC2FA900920691 /* Frameworks */,
+				4BACD61315BC2FA900920691 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4BACD60D15BC2FA900920691 /* PBXTargetDependency */,
+			);
+			name = set_comment_removeglobal;
+			productName = modify;
+			productReference = 4BACD61715BC2FA900920691 /* set_comment_ copy 2 */;
+			productType = "com.apple.product-type.tool";
+		};
+		4BACD61915BC2FAC00920691 /* set_comment_revert */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4BACD62115BC2FAC00920691 /* Build configuration list for PBXNativeTarget "set_comment_revert" */;
+			buildPhases = (
+				4BACD61C15BC2FAC00920691 /* Sources */,
+				4BACD61D15BC2FAC00920691 /* Frameworks */,
+				4BACD62015BC2FAC00920691 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4BACD61A15BC2FAC00920691 /* PBXTargetDependency */,
+			);
+			name = set_comment_revert;
+			productName = modify;
+			productReference = 4BACD62415BC2FAC00920691 /* set_comment_ copy 3 */;
+			productType = "com.apple.product-type.tool";
+		};
+		4BACD62615BC2FAE00920691 /* set_compression */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4BACD62E15BC2FAE00920691 /* Build configuration list for PBXNativeTarget "set_compression" */;
+			buildPhases = (
+				4BACD62915BC2FAE00920691 /* Sources */,
+				4BACD62A15BC2FAE00920691 /* Frameworks */,
+				4BACD62D15BC2FAE00920691 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4BACD62715BC2FAE00920691 /* PBXTargetDependency */,
+			);
+			name = set_compression;
+			productName = modify;
+			productReference = 4BACD63115BC2FAE00920691 /* set_comment_ copy 4 */;
+			productType = "com.apple.product-type.tool";
+		};
+		4BACD63715BC2FEF00920691 /* stat_index */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4BACD63F15BC2FEF00920691 /* Build configuration list for PBXNativeTarget "stat_index" */;
+			buildPhases = (
+				4BACD63A15BC2FEF00920691 /* Sources */,
+				4BACD63B15BC2FEF00920691 /* Frameworks */,
+				4BACD63E15BC2FEF00920691 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4BACD63815BC2FEF00920691 /* PBXTargetDependency */,
+			);
+			name = stat_index;
+			productName = modify;
+			productReference = 4BACD64215BC2FEF00920691 /* set_comment_ copy 4 copy */;
+			productType = "com.apple.product-type.tool";
+		};
+		4BACD64515BC301300920691 /* tryopen */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 4BACD64D15BC301300920691 /* Build configuration list for PBXNativeTarget "tryopen" */;
+			buildPhases = (
+				4BACD64815BC301300920691 /* Sources */,
+				4BACD64915BC301300920691 /* Frameworks */,
+				4BACD64C15BC301300920691 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				4BACD64615BC301300920691 /* PBXTargetDependency */,
+			);
+			name = tryopen;
+			productName = modify;
+			productReference = 4BACD65015BC301300920691 /* set_comment_ copy 4 copy copy */;
+			productType = "com.apple.product-type.tool";
+		};
 		4BDC71DF15B182B200236D3C /* libzip */ = {
 			isa = PBXNativeTarget;
 			buildConfigurationList = 4BDC71EA15B182B200236D3C /* Build configuration list for PBXNativeTarget "libzip" */;
@@ -719,13 +1627,27 @@
 			projectDirPath = "";
 			projectRoot = "";
 			targets = (
+				4BDC71DF15B182B200236D3C /* libzip */,
 				4BDC72A115B1B6EA00236D3C /* Build iOS Framework */,
 				4B01D68A15B2F3F1002D5007 /* libzip Mac */,
 				4B01D72815B2F5A2002D5007 /* command line tools */,
-				4BDC71DF15B182B200236D3C /* libzip */,
 				4B01D6FC15B2F4B1002D5007 /* zipmerge */,
 				4B01D70A15B2F4EB002D5007 /* zipcmp */,
 				4B01D71515B2F4F7002D5007 /* ziptorrent */,
+				4BACD5A715BC2D8200920691 /* test programs */,
+				4BACD59815BC2D4C00920691 /* add_from_buffer */,
+				4BACD5B515BC2DC900920691 /* add_from_filep */,
+				4BACD5C415BC2DF200920691 /* fopen_unchanged */,
+				4BACD5D315BC2F3700920691 /* fread */,
+				4BACD58815BC2CEA00920691 /* modify */,
+				4BACD5E215BC2F6600920691 /* name_locate */,
+				4BACD5F115BC2F9500920691 /* set_comment_all */,
+				4BACD5FF15BC2FA300920691 /* set_comment_localonly */,
+				4BACD60C15BC2FA900920691 /* set_comment_removeglobal */,
+				4BACD61915BC2FAC00920691 /* set_comment_revert */,
+				4BACD62615BC2FAE00920691 /* set_compression */,
+				4BACD63715BC2FEF00920691 /* stat_index */,
+				4BACD64515BC301300920691 /* tryopen */,
 			);
 		};
 /* End PBXProject section */
@@ -878,6 +1800,110 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
+		4BACD58515BC2CEA00920691 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD59515BC2D1C00920691 /* modify.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD59B15BC2D4C00920691 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD5A615BC2D5F00920691 /* add_from_buffer.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5B815BC2DC900920691 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD5C315BC2DE000920691 /* add_from_filep.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5C715BC2DF200920691 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD5D215BC2EFE00920691 /* fopen_unchanged.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5D615BC2F3700920691 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD5E115BC2F4500920691 /* fread.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5E515BC2F6600920691 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD5F015BC2F7100920691 /* name_locate.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD5F415BC2F9500920691 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD63315BC2FB800920691 /* set_comment_all.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD60215BC2FA300920691 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD63415BC2FC800920691 /* set_comment_localonly.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD60F15BC2FA900920691 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD63515BC2FD600920691 /* set_comment_removeglobal.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD61C15BC2FAC00920691 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD63615BC2FE200920691 /* set_comment_revert.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD62915BC2FAE00920691 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD64415BC2FFD00920691 /* set_compression.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD63A15BC2FEF00920691 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD65215BC301B00920691 /* stat_index.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		4BACD64815BC301300920691 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4BACD65315BC302500920691 /* tryopen.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
 		4BDC71DC15B182B200236D3C /* Sources */ = {
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
@@ -1001,6 +2027,136 @@
 			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
 			targetProxy = 4B01D73915B2F649002D5007 /* PBXContainerItemProxy */;
 		};
+		4BACD59715BC2D3800920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
+			targetProxy = 4BACD59615BC2D3800920691 /* PBXContainerItemProxy */;
+		};
+		4BACD59915BC2D4C00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
+			targetProxy = 4BACD59A15BC2D4C00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD5B215BC2DB300920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4BACD58815BC2CEA00920691 /* modify */;
+			targetProxy = 4BACD5B115BC2DB300920691 /* PBXContainerItemProxy */;
+		};
+		4BACD5B415BC2DB300920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4BACD59815BC2D4C00920691 /* add_from_buffer */;
+			targetProxy = 4BACD5B315BC2DB300920691 /* PBXContainerItemProxy */;
+		};
+		4BACD5B615BC2DC900920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
+			targetProxy = 4BACD5B715BC2DC900920691 /* PBXContainerItemProxy */;
+		};
+		4BACD5C515BC2DF200920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
+			targetProxy = 4BACD5C615BC2DF200920691 /* PBXContainerItemProxy */;
+		};
+		4BACD5D415BC2F3700920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
+			targetProxy = 4BACD5D515BC2F3700920691 /* PBXContainerItemProxy */;
+		};
+		4BACD5E315BC2F6600920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
+			targetProxy = 4BACD5E415BC2F6600920691 /* PBXContainerItemProxy */;
+		};
+		4BACD5F215BC2F9500920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
+			targetProxy = 4BACD5F315BC2F9500920691 /* PBXContainerItemProxy */;
+		};
+		4BACD60015BC2FA300920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
+			targetProxy = 4BACD60115BC2FA300920691 /* PBXContainerItemProxy */;
+		};
+		4BACD60D15BC2FA900920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
+			targetProxy = 4BACD60E15BC2FA900920691 /* PBXContainerItemProxy */;
+		};
+		4BACD61A15BC2FAC00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
+			targetProxy = 4BACD61B15BC2FAC00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD62715BC2FAE00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
+			targetProxy = 4BACD62815BC2FAE00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD63815BC2FEF00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
+			targetProxy = 4BACD63915BC2FEF00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD64615BC301300920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4B01D68A15B2F3F1002D5007 /* libzip Mac */;
+			targetProxy = 4BACD64715BC301300920691 /* PBXContainerItemProxy */;
+		};
+		4BACD65515BC303B00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4BACD5B515BC2DC900920691 /* add_from_filep */;
+			targetProxy = 4BACD65415BC303B00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD65715BC303B00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4BACD5C415BC2DF200920691 /* fopen_unchanged */;
+			targetProxy = 4BACD65615BC303B00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD65915BC303B00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4BACD5D315BC2F3700920691 /* fread */;
+			targetProxy = 4BACD65815BC303B00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD65B15BC303B00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4BACD5E215BC2F6600920691 /* name_locate */;
+			targetProxy = 4BACD65A15BC303B00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD65D15BC303B00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4BACD5F115BC2F9500920691 /* set_comment_all */;
+			targetProxy = 4BACD65C15BC303B00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD65F15BC303B00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4BACD5FF15BC2FA300920691 /* set_comment_localonly */;
+			targetProxy = 4BACD65E15BC303B00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD66115BC303B00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4BACD60C15BC2FA900920691 /* set_comment_removeglobal */;
+			targetProxy = 4BACD66015BC303B00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD66315BC303B00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4BACD61915BC2FAC00920691 /* set_comment_revert */;
+			targetProxy = 4BACD66215BC303B00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD66515BC303B00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4BACD62615BC2FAE00920691 /* set_compression */;
+			targetProxy = 4BACD66415BC303B00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD66715BC303B00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4BACD63715BC2FEF00920691 /* stat_index */;
+			targetProxy = 4BACD66615BC303B00920691 /* PBXContainerItemProxy */;
+		};
+		4BACD66915BC303B00920691 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 4BACD64515BC301300920691 /* tryopen */;
+			targetProxy = 4BACD66815BC303B00920691 /* PBXContainerItemProxy */;
+		};
 /* End PBXTargetDependency section */
 
 /* Begin XCBuildConfiguration section */
@@ -1184,6 +2340,384 @@
 			};
 			name = Release;
 		};
+		4BACD59115BC2CEA00920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		4BACD59215BC2CEA00920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		4BACD5A215BC2D4C00920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "modify copy";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		4BACD5A315BC2D4C00920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				PRODUCT_NAME = "modify copy";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		4BACD5AF15BC2D8200920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				PRODUCT_NAME = "command line tools copy";
+			};
+			name = Debug;
+		};
+		4BACD5B015BC2D8200920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				PRODUCT_NAME = "command line tools copy";
+			};
+			name = Release;
+		};
+		4BACD5BF15BC2DC900920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "add_from_buffer copy";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		4BACD5C015BC2DC900920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				PRODUCT_NAME = "add_from_buffer copy";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		4BACD5CE15BC2DF200920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "add_from_filep copy";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		4BACD5CF15BC2DF200920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				PRODUCT_NAME = "add_from_filep copy";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		4BACD5DD15BC2F3700920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "modify copy";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		4BACD5DE15BC2F3700920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				PRODUCT_NAME = "modify copy";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		4BACD5EC15BC2F6600920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "modify copy";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		4BACD5ED15BC2F6600920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				PRODUCT_NAME = "modify copy";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		4BACD5FB15BC2F9500920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "name_locate copy";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		4BACD5FC15BC2F9500920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				PRODUCT_NAME = "name_locate copy";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		4BACD60815BC2FA300920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "set_comment_ copy";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		4BACD60915BC2FA300920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				PRODUCT_NAME = "set_comment_ copy";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		4BACD61515BC2FA900920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "set_comment_ copy 2";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		4BACD61615BC2FA900920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				PRODUCT_NAME = "set_comment_ copy 2";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		4BACD62215BC2FAC00920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "set_comment_ copy 3";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		4BACD62315BC2FAC00920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				PRODUCT_NAME = "set_comment_ copy 3";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		4BACD62F15BC2FAE00920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "set_comment_ copy 4";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		4BACD63015BC2FAE00920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				PRODUCT_NAME = "set_comment_ copy 4";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		4BACD64015BC2FEF00920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "set_comment_ copy 4 copy";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		4BACD64115BC2FEF00920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				PRODUCT_NAME = "set_comment_ copy 4 copy";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		4BACD64E15BC301300920691 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				ONLY_ACTIVE_ARCH = YES;
+				PRODUCT_NAME = "set_comment_ copy 4 copy copy";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		4BACD64F15BC301300920691 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = YES;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.7;
+				PRODUCT_NAME = "set_comment_ copy 4 copy copy";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
 		4BDC71D315B181DA00236D3C /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -1345,6 +2879,119 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
+		4BACD59015BC2CEA00920691 /* Build configuration list for PBXNativeTarget "modify" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD59115BC2CEA00920691 /* Debug */,
+				4BACD59215BC2CEA00920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+		4BACD5A115BC2D4C00920691 /* Build configuration list for PBXNativeTarget "add_from_buffer" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD5A215BC2D4C00920691 /* Debug */,
+				4BACD5A315BC2D4C00920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+		4BACD5AE15BC2D8200920691 /* Build configuration list for PBXAggregateTarget "test programs" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD5AF15BC2D8200920691 /* Debug */,
+				4BACD5B015BC2D8200920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		4BACD5BE15BC2DC900920691 /* Build configuration list for PBXNativeTarget "add_from_filep" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD5BF15BC2DC900920691 /* Debug */,
+				4BACD5C015BC2DC900920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+		4BACD5CD15BC2DF200920691 /* Build configuration list for PBXNativeTarget "fopen_unchanged" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD5CE15BC2DF200920691 /* Debug */,
+				4BACD5CF15BC2DF200920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+		4BACD5DC15BC2F3700920691 /* Build configuration list for PBXNativeTarget "fread" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD5DD15BC2F3700920691 /* Debug */,
+				4BACD5DE15BC2F3700920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+		4BACD5EB15BC2F6600920691 /* Build configuration list for PBXNativeTarget "name_locate" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD5EC15BC2F6600920691 /* Debug */,
+				4BACD5ED15BC2F6600920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+		4BACD5FA15BC2F9500920691 /* Build configuration list for PBXNativeTarget "set_comment_all" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD5FB15BC2F9500920691 /* Debug */,
+				4BACD5FC15BC2F9500920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+		4BACD60715BC2FA300920691 /* Build configuration list for PBXNativeTarget "set_comment_localonly" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD60815BC2FA300920691 /* Debug */,
+				4BACD60915BC2FA300920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+		4BACD61415BC2FA900920691 /* Build configuration list for PBXNativeTarget "set_comment_removeglobal" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD61515BC2FA900920691 /* Debug */,
+				4BACD61615BC2FA900920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+		4BACD62115BC2FAC00920691 /* Build configuration list for PBXNativeTarget "set_comment_revert" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD62215BC2FAC00920691 /* Debug */,
+				4BACD62315BC2FAC00920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+		4BACD62E15BC2FAE00920691 /* Build configuration list for PBXNativeTarget "set_compression" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD62F15BC2FAE00920691 /* Debug */,
+				4BACD63015BC2FAE00920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+		4BACD63F15BC2FEF00920691 /* Build configuration list for PBXNativeTarget "stat_index" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD64015BC2FEF00920691 /* Debug */,
+				4BACD64115BC2FEF00920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+		4BACD64D15BC301300920691 /* Build configuration list for PBXNativeTarget "tryopen" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				4BACD64E15BC301300920691 /* Debug */,
+				4BACD64F15BC301300920691 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
 		4BDC71C215B181DA00236D3C /* Build configuration list for PBXProject "libzip" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (