=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/tty-features.c,v retrieving revision 1.2 retrieving revision 1.3 diff -c -r1.2 -r1.3 *** src/usr.bin/tmux/tty-features.c 2020/04/20 13:38:48 1.2 --- src/usr.bin/tmux/tty-features.c 2020/04/20 15:37:32 1.3 *************** *** 1,4 **** ! /* $OpenBSD: tty-features.c,v 1.2 2020/04/20 13:38:48 nicm Exp $ */ /* * Copyright (c) 2020 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: tty-features.c,v 1.3 2020/04/20 15:37:32 nicm Exp $ */ /* * Copyright (c) 2020 Nicholas Marriott *************** *** 232,238 **** return (s); } ! void tty_apply_features(struct tty_term *term, int feat) { const struct tty_feature *tf; --- 232,238 ---- return (s); } ! int tty_apply_features(struct tty_term *term, int feat) { const struct tty_feature *tf; *************** *** 240,246 **** u_int i; if (feat == 0) ! return; log_debug("applying terminal features: %s", tty_get_features(feat)); for (i = 0; i < nitems(tty_features); i++) { --- 240,246 ---- u_int i; if (feat == 0) ! return (0); log_debug("applying terminal features: %s", tty_get_features(feat)); for (i = 0; i < nitems(tty_features); i++) { *************** *** 259,263 **** --- 259,266 ---- } term->flags |= tf->flags; } + if ((term->features | feat) == term->features) + return (0); term->features |= feat; + return (1); }