13 int mutt_wctoutf8 (char *s, unsigned int c)
20 else if (c < (1 << 11)) {
22 *s++ = 0xc0 | (c >> 6);
23 *s++ = 0x80 | (c & 0x3f);
27 else if (c < (1 << 16)) {
29 *s++ = 0xe0 | (c >> 12);
30 *s++ = 0x80 | ((c >> 6) & 0x3f);
31 *s++ = 0x80 | (c & 0x3f);
35 else if (c < (1 << 21)) {
37 *s++ = 0xf0 | (c >> 18);
38 *s++ = 0x80 | ((c >> 12) & 0x3f);
39 *s++ = 0x80 | ((c >> 6) & 0x3f);
40 *s++ = 0x80 | (c & 0x3f);
44 else if (c < (1 << 26)) {
46 *s++ = 0xf8 | (c >> 24);
47 *s++ = 0x80 | ((c >> 18) & 0x3f);
48 *s++ = 0x80 | ((c >> 12) & 0x3f);
49 *s++ = 0x80 | ((c >> 6) & 0x3f);
50 *s++ = 0x80 | (c & 0x3f);
54 else if (c < (1 << 31)) {
56 *s++ = 0xfc | (c >> 30);
57 *s++ = 0x80 | ((c >> 24) & 0x3f);
58 *s++ = 0x80 | ((c >> 18) & 0x3f);
59 *s++ = 0x80 | ((c >> 12) & 0x3f);
60 *s++ = 0x80 | ((c >> 6) & 0x3f);
61 *s++ = 0x80 | (c & 0x3f);
69 #endif /* !HAVE_WC_FUNCS */