X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/8e0d377cb731b0fbc39a9b2874ec6b772e53620b..682769680c6e77bf8cf797c23eccd1d4e2753066:/sbr/fmt_rfc2047.c diff --git a/sbr/fmt_rfc2047.c b/sbr/fmt_rfc2047.c index 7013ceab..87fddb90 100644 --- a/sbr/fmt_rfc2047.c +++ b/sbr/fmt_rfc2047.c @@ -71,7 +71,7 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen) int whitespace = 0; /* how much whitespace between encodings? */ #ifdef HAVE_ICONV int use_iconv = 0; /* are we converting encoding with iconv? */ - iconv_t cd; + iconv_t cd = NULL; int fromutf8 = 0; char *saveq, *convbuf = NULL; size_t savedstlen; @@ -135,7 +135,7 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen) /* .. it can't. We'll use iconv then. */ *pp = '\0'; cd = iconv_open(get_charset(), startofmime); - fromutf8 = !strcasecmp(startofmime, "UTF-8"); + fromutf8 = !mh_strcasecmp(startofmime, "UTF-8"); *pp = '?'; if (cd == (iconv_t)-1) continue; use_iconv = 1; @@ -200,7 +200,7 @@ decode_rfc2047 (char *str, char *dst, size_t dstlen) * empty encoded text. This ensures that we don't * malloc 0 bytes but skip on to the end */ - if (endofmime == startofmime) { + if (endofmime == startofmime && use_iconv) { use_iconv = 0; iconv_close(cd); }