Skip to content

Xcode warning on result = iconv in mz_os_posix.c #386

@Coeur

Description

@Coeur

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.
Screen Shot 2019-05-01 at 1 30 16 PM

Metadata

Metadata

Assignees

No one assigned

    Labels

    compilationIssues related to compiling source codefixedIssue or bug has been fixed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions