=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/utf8.c,v retrieving revision 1.2 retrieving revision 1.3 diff -c -r1.2 -r1.3 *** src/usr.bin/tmux/utf8.c 2009/06/24 05:35:07 1.2 --- src/usr.bin/tmux/utf8.c 2009/06/25 06:15:04 1.3 *************** *** 1,4 **** ! /* $OpenBSD: utf8.c,v 1.2 2009/06/24 05:35:07 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: utf8.c,v 1.3 2009/06/25 06:15:04 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott *************** *** 198,204 **** int utf8_overlap(struct utf8_width_entry *, struct utf8_width_entry *); void utf8_print(struct utf8_width_entry *, int); u_int utf8_combine(const u_char *); - void utf8_split(u_int, u_char *); int utf8_overlap( --- 198,203 ---- *************** *** 272,299 **** uvalue |= (data[0] & 0x3f) << 18; } return (uvalue); - } - - void - utf8_split(u_int uvalue, u_char *data) - { - memset(data, 0xff, 4); - - if (uvalue <= 0x7f) - data[0] = uvalue; - else if (uvalue > 0x7f && uvalue <= 0x7ff) { - data[0] = (uvalue >> 6) | 0xc0; - data[1] = (uvalue & 0x3f) | 0x80; - } else if (uvalue > 0x7ff && uvalue <= 0xffff) { - data[0] = (uvalue >> 12) | 0xe0; - data[1] = ((uvalue >> 6) & 0x3f) | 0x80; - data[2] = (uvalue & 0x3f) | 0x80; - } else if (uvalue > 0xffff && uvalue <= 0x10ffff) { - data[0] = (uvalue >> 18) | 0xf0; - data[1] = ((uvalue >> 12) & 0x3f) | 0x80; - data[2] = ((uvalue >> 6) & 0x3f) | 0x80; - data[3] = (uvalue & 0x3f) | 0x80; - } } int --- 271,276 ----