=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/window-copy.c,v retrieving revision 1.203 retrieving revision 1.204 diff -c -r1.203 -r1.204 *** src/usr.bin/tmux/window-copy.c 2018/11/08 18:49:19 1.203 --- src/usr.bin/tmux/window-copy.c 2018/11/28 11:20:13 1.204 *************** *** 1,4 **** ! /* $OpenBSD: window-copy.c,v 1.203 2018/11/08 18:49:19 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: window-copy.c,v 1.204 2018/11/28 11:20:13 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 1817,1831 **** struct window_copy_mode_data *data = wp->modedata; struct grid_cell gc; const struct utf8_data *ud; grid_get_cell(data->backing->grid, px, py, &gc); ! ! ud = &gc.data; ! if (ud->size != 1 || (gc.flags & GRID_FLAG_PADDING)) return (0); ! if (*ud->data == 0x00 || *ud->data == 0x7f) ! return (0); ! return (strchr(set, *ud->data) != NULL); } static u_int --- 1817,1843 ---- struct window_copy_mode_data *data = wp->modedata; struct grid_cell gc; const struct utf8_data *ud; + struct utf8_data *copy; + struct utf8_data *loop; + int found = 0; grid_get_cell(data->backing->grid, px, py, &gc); ! if (gc.flags & GRID_FLAG_PADDING) return (0); ! ud = &gc.data; ! ! copy = utf8_fromcstr(set); ! for (loop = copy; loop->size != 0; loop++) { ! if (loop->size != ud->size) ! continue; ! if (memcmp(loop->data, ud->data, loop->size) == 0) { ! found = 1; ! break; ! } ! } ! free(copy); ! ! return (found); } static u_int