前回の『137: iconvの引数のコンパイルエラー』についてです。
http://onscripter.sourceforge.jp/cgi-bin/kagemai/guest.cgi?action=view_report&id=137&project=onscripter
解決策がSDLにありました。
SDL-1.2.13/src/stdlib/SDL_iconv.c
によると
/* Depending on which standard the iconv() was implemented with,
iconv() may or may not use const char ** for the inbuf param.
If we get this wrong, it's just a warning, so no big deal.
*/
#if defined(_XGP6) || \
defined(__GLIBC__) && ((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2))
#define ICONV_INBUF_NONCONST
#endif
#ifdef ICONV_INBUF_NONCONST
retCode = iconv(cd, (char **)inbuf, inbytesleft, outbuf, outbytesleft);
#else
retCode = iconv(cd, inbuf, inbytesleft, outbuf, outbytesleft);
#endif
のように判別できるそうです。
このようにSDL側で実装されているので
iconvではなくSDL_iconvを使うように修正すればいいのかなと思います。
iconv_t, iconv_open, iconv_close, iconvを
SDL_iconv_t, SDL_iconv_open, SDL_iconv_close, SDL_iconvに。
秋月かたね