We have: size_t iconv(iconv_t, const char **restrict, size_t *restrict, char **restrict, size_t *restrict); X/Open wants: size_t iconv(iconv_t, char **restrict, size_t *restrict, char **restrict, size_t *restrict); What gives? christos