From 6c1f03578d7a616f96b04eccd5095d4f9463edb2 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Thu, 4 Jun 2009 14:24:49 +0000 Subject: [PATCH] Oops, CAN and SUB should abort the sequence (return to first state), not remain in the same state. --- input.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/input.c b/input.c index 07e6db0b..f7980c25 100644 --- a/input.c +++ b/input.c @@ -400,6 +400,9 @@ input_state_sequence_first(u_char ch, struct input_ctx *ictx) /* Abort sequence and begin with new. */ input_state(ictx, input_state_escape); } 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); } @@ -465,6 +468,9 @@ input_state_sequence_next(u_char ch, struct input_ctx *ictx) /* Abort sequence and begin with new. */ input_state(ictx, input_state_escape); } 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); }