Not sure if you're interested in non-standard i18n conversion interfaces
but I just released my encdec code which compiles directly against
libiconv to implement the signatures I posted previously:
int enc_mbscpy(const char *src, char **dst, const char *tocode);
int enc_mbsncpy(const char *src, size_t sn, char **dst, size_t dn,
int cn, const char *tocode);
size_t dec_mbscpy(char **src, char *dst, const char *fromcode);
size_t dec_mbsncpy(char **src, size_t sn, char *dst, size_t dn,
int cn, const char *fromcode);
char *dec_mbscpy_new(char **src, const char *fromcode);
char *dec_mbsncpy_new(char **src, size_t sn, size_t dn,
int wn, const char *fromcode);
These are supposed to be ideal for in-situ encoding/decoding of strings
of limited size but see encdec(3) for details.
http://users.erols.com/mballen/encdec/
Mike
--
May The Source be with you.
--
Linux-UTF8: i18n of Linux on all levels
Archive: http://mail.nl.linux.org/linux-utf8/