diff options
author | 2009-06-04 14:42:14 +0000 | |
---|---|---|
committer | 2009-06-04 14:42:14 +0000 | |
commit | 11ac80a095affa347969defb1ccdb14bbdba914f (patch) | |
tree | 6bfa4c9e2c15522e64402d6098e1d6047fb7e4fe /usr.bin/tmux/input.c | |
parent | Oops, CAN and SUB should abort the sequence (return to first state), not remain (diff) | |
download | wireguard-openbsd-11ac80a095affa347969defb1ccdb14bbdba914f.tar.xz wireguard-openbsd-11ac80a095affa347969defb1ccdb14bbdba914f.zip |
Okay, so I screwed up when testing this, doh. Unbreak so that CAN/SUB actually
do cancel the sequence, and tweak to make the code more clear.
Diffstat (limited to 'usr.bin/tmux/input.c')
-rw-r--r-- | usr.bin/tmux/input.c | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/usr.bin/tmux/input.c b/usr.bin/tmux/input.c index d5bf0900a75..4c0195b7688 100644 --- a/usr.bin/tmux/input.c +++ b/usr.bin/tmux/input.c @@ -1,4 +1,4 @@ -/* $OpenBSD: input.c,v 1.5 2009/06/04 14:24:49 nicm Exp $ */ +/* $OpenBSD: input.c,v 1.6 2009/06/04 14:42:14 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -399,13 +399,16 @@ input_state_sequence_first(u_char ch, struct input_ctx *ictx) if (ch == 0x1b) { /* ESC */ /* Abort sequence and begin with new. */ input_state(ictx, input_state_escape); - } else if (ch != 0x18 && ch != 0x1a) { /* CAN and SUB */ + return; + } else if (ch == 0x18 || ch == 0x1a) { /* CAN and SUB */ /* Abort sequence. */ input_state(ictx, input_state_first); - } else { - /* Handle C0 immediately. */ - input_handle_c0_control(ch, ictx); + return; } + + /* Handle C0 immediately. */ + input_handle_c0_control(ch, ictx); + /* * Just come back to this state, in case the next character * is the start of a private sequence. @@ -467,13 +470,16 @@ input_state_sequence_next(u_char ch, struct input_ctx *ictx) if (ch == 0x1b) { /* ESC */ /* Abort sequence and begin with new. */ input_state(ictx, input_state_escape); - } else if (ch != 0x18 && ch != 0x1a) { /* CAN and SUB */ + return; + } else if (ch == 0x18 || ch == 0x1a) { /* CAN and SUB */ /* Abort sequence. */ input_state(ictx, input_state_first); - } else { - /* Handle C0 immediately. */ - input_handle_c0_control(ch, ictx); + return; } + + /* Handle C0 immediately. */ + input_handle_c0_control(ch, ictx); + return; } |