69 inbytesleft = strlen(inputbuf);
71 cd = iconv_open(
"UTF-8", fromcode);
72 if ( cd == ((iconv_t)(-1)) )
75 outbytesleft = inbytesleft * 3 + 1;
77 *outputbuf = (
char *)
malloc(outbytesleft);
81 memset(*outputbuf, 0, outbytesleft);
82 outputptr = *outputbuf;
85 if ( iconv(cd, &inputbuf, &inbytesleft, &outputptr, &outbytesleft) == (
size_t)-1 )
90 iconvctl(cd, ICONV_SET_TRANSLITERATE, &on);
91 if ( iconv(cd, &inputbuf, &inbytesleft, &outputptr, &outbytesleft) == -1 )
94 iconvctl(cd, ICONV_SET_DISCARD_ILSEQ, &on);
95 if ( iconv(cd, &inputbuf, &inbytesleft, &outputptr, &outbytesleft) == -1 )