Oops, CAN and SUB should abort the sequence (return to first state), not remain

in the same state.
This commit is contained in:
Nicholas Marriott 2009-06-04 14:24:49 +00:00
parent 8dd2f0da3f
commit 6c1f03578d

View File

@ -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);
}