Type cleanup, internally and in the API.  Fixes most llvm warnings.
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);
 }