X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=mbyte.c;h=6c9a76c96613a079ff63f939775baf0131930015;hp=1ff911cc22845f79dd64ccce2dea3cb9c5bdfd32;hb=ae0ce4dfcafa0c3820f107c5bfa8bd06e5272b57;hpb=2c522cac0278dd774896f25048da2c5cc1d9cf99 diff --git a/mbyte.c b/mbyte.c index 1ff911c..6c9a76c 100644 --- a/mbyte.c +++ b/mbyte.c @@ -15,11 +15,12 @@ # include "config.h" #endif +#include + #include "mutt.h" #include "mbyte.h" #include "charset.h" -#include "lib/intl.h" #include @@ -91,7 +92,7 @@ void mutt_set_charset (char *charset) static size_t wcrtomb_iconv (char *s, wchar_t wc, iconv_t cd) { char buf[MB_LEN_MAX]; - ICONV_CONST char *ib; + const char *ib; char *ob; size_t ibl, obl, r; @@ -102,14 +103,14 @@ static size_t wcrtomb_iconv (char *s, wchar_t wc, iconv_t cd) ib = buf; ob = s; obl = MB_LEN_MAX; - r = iconv (cd, &ib, &ibl, &ob, &obl); + r = my_iconv(cd, &ib, &ibl, &ob, &obl); } else { ib = ""; ibl = 1; ob = buf; obl = sizeof (buf); - r = iconv (cd, &ib, &ibl, &ob, &obl); + r = my_iconv(cd, &ib, &ibl, &ob, &obl); } return ob - s; } @@ -138,7 +139,7 @@ size_t mbrtowc_iconv (wchar_t * pwc, const char *s, size_t n, mbstate_t * ps, iconv_t cd) { static mbstate_t mbstate; - ICONV_CONST char *ib, *ibmax; + const char *ib, *ibmax; char *ob, *t; size_t ibl, obl, k, r; char bufi[8], bufo[6]; @@ -168,10 +169,10 @@ size_t mbrtowc_iconv (wchar_t * pwc, const char *s, size_t n, ibl = 1; for (;;) { - r = iconv (cd, &ib, &ibl, &ob, &obl); + r = my_iconv(cd, &ib, &ibl, &ob, &obl); if (ob > bufo && (!k || ib > bufi + k)) { /* we have a character */ - memset (ps, 0, sizeof (*ps)); + p_clear(ps, 1); utf8rtowc (pwc, bufo, ob - bufo, &mbstate); return (pwc && *pwc) ? (ib - (k ? bufi + k : s)) : 0; } @@ -188,7 +189,7 @@ size_t mbrtowc_iconv (wchar_t * pwc, const char *s, size_t n, } else { /* save the state and give up */ - memset (ps, 0, sizeof (*ps)); + p_clear(ps, 1); if (ibl <= sizeof (mbstate_t)) /* need extra condition here! */ memcpy (ps, ib, ibl); return (size_t) (-2); @@ -215,7 +216,7 @@ size_t mbrtowc (wchar_t * pwc, const char *s, size_t n, mbstate_t * ps) return mbrtowc_iconv (pwc, s, n, ps, charset_to_utf8); else { if (!s) { - memset (ps, 0, sizeof (*ps)); + p_clear(ps, 1); return 0; } if (!n)