int m = mutt_wctomb (tb, wc);
int m = wctomb (tb, wc);
static int print_macro (FILE *f, int maxwidth, const char **macro){  int n = maxwidth;  wchar_t wc;  int k, w;  for (;;)  {    if ((k = mutt_mbtowc (&wc, *macro, -1)) <= 0)      break;    if ((w = mutt_wcwidth (wc)) >= 0)    {      if (w > n)	break;      n -= w;      {	char tb[7];	int m = mutt_wctomb (tb, wc);	if (0 < m && m < 7)	  tb[m] = '\0', fprintf (f, "%s", tb);      }    }    else if (wc < 0x20 || wc == 0x7f)    {      if (2 > n)	break;      n -= 2;      if (wc == '\033')	fprintf (f, "\\e");      else if (wc == '\n')	fprintf (f, "\\n");      else if (wc == '\r')	fprintf (f, "\\r");      else if (wc == '\t')	fprintf (f, "\\t");      else	fprintf (f, "^%c", (char)((wc + '@') & 0x7f));    }    else    {      if (1 > n)	break;      n -= 1;      fprintf (f, "?");    }    *macro += k;  }  return (maxwidth - n);}