The problem was that cdata_one_character did not fully flush the
output and so that would be carried over to the "real" output.
size_t inbytesleft = i;
size_t r = yaz_iconv(mt->iconv_cd, (char**) &inp, &inbytesleft,
&outp, &outbytesleft);
size_t inbytesleft = i;
size_t r = yaz_iconv(mt->iconv_cd, (char**) &inp, &inbytesleft,
&outp, &outbytesleft);
+ yaz_iconv(mt->iconv_cd, 0, 0, &outp, &outbytesleft);
if (r != (size_t) (-1))
return i; /* got a complete sequence */
}
if (r != (size_t) (-1))
return i; /* got a complete sequence */
}