if (!Unicode) { if (load_charset ("ISO_10646", &Unicode, 1) == -1) Unicode = NULL; }
(void) unicode_init ();
void mutt_decode_utf8_string(char *str, CHARSET *chs){  char *s, *t;  CHARDESC *cd;  int ch;  /* Hack */    if (!Unicode)  {    if (load_charset ("ISO_10646", &Unicode, 1) == -1)      Unicode = NULL;  }    for (s = t = str; *t; s++)  {    t = utf_to_unicode(&ch, t);    /* handle us-ascii characters directly */    if (0 <= ch && ch < 128)      *s = ch;    else if ((cd = repr2descr (ch, Unicode)) && (ch = translate_character (chs, cd->symbol)) != -1)      *s = ch;    else      *s = '?';    if(!*s) *s = '?';  }    *s = '\0';}