I'm in the process of migrating minizip 1.2 to 2.8.6 on Apple platforms, using 'HAVE_ARC4RANDOM_BUF HAVE_INTTYPES_H HAVE_PKCRYPT HAVE_STDINT_H HAVE_WZAES HAVE_ZLIB' and including libs z and iconv, as seen on the temporary branch https://github.com/ZipArchive/ZipArchive/tree/minizip286.
Now, using iconv is new (compared to minizip 1.2), and its signature on Apple platforms is:
extern __LIBICONV_DLL_EXPORTED size_t iconv (iconv_t __cd, char* * __restrict __inbuf, size_t * __restrict __inbytesleft, char* * __restrict __outbuf, size_t * __restrict __outbytesleft);
Where size_t is an unsigned long, so it produces that warning:
mz_os_posix.c:73:18: Implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int')
I'm also a bit surprised that you're going to compare an unsigned long casted to an int with the value -1 a few lines below. So there may be something to change here.

I'm in the process of migrating minizip 1.2 to 2.8.6 on Apple platforms, using
'HAVE_ARC4RANDOM_BUF HAVE_INTTYPES_H HAVE_PKCRYPT HAVE_STDINT_H HAVE_WZAES HAVE_ZLIB'and including libszandiconv, as seen on the temporary branch https://github.com/ZipArchive/ZipArchive/tree/minizip286.Now, using
iconvis new (compared to minizip 1.2), and its signature on Apple platforms is:Where
size_tis anunsigned long, so it produces that warning:I'm also a bit surprised that you're going to compare an

unsigned longcasted to anintwith the value-1a few lines below. So there may be something to change here.