Hello David, in libuemf/uemf_utf.c, there is
/** \cond */ /* iconv() has a funny cast on some older systems, on most recent ones it is just char **. This tries to work around the issue. If you build this on another funky system this code may need to be modified, or define ICONV_CAST on the compile line(but it may be tricky). */ #ifdef SOL8 #define ICONV_CAST (const char **) #endif //SOL8 #if !defined(ICONV_CAST) #define ICONV_CAST (char **) #endif //ICONV_CAST /** \endcond */
An example of the macro usage: ... status = iconv(conv, ICONV_CAST &src, &srclen, &dst, &dstlen); ...
This generates a warning because, at least on Windows, iconv expects a (const char **) and gcc complains about an unsafe cast. This is not at all trivial, and is a very valid compiler warning. Please read this: http://stackoverflow.com/questions/14562845/why-does-passing-char-as-const-c...
I do not know how to fix this at the moment. Of course I could do an #ifdef for Windows to replace the cast with what iconv wants, but....
Thanks for having a look, Johan