version 1.5, 2009/06/04 14:24:49 |
version 1.6, 2009/06/04 14:42:14 |
|
|
if (ch == 0x1b) { /* ESC */ |
if (ch == 0x1b) { /* ESC */ |
/* Abort sequence and begin with new. */ |
/* Abort sequence and begin with new. */ |
input_state(ictx, input_state_escape); |
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. */ |
/* Abort sequence. */ |
input_state(ictx, input_state_first); |
input_state(ictx, input_state_first); |
} else { |
return; |
/* Handle C0 immediately. */ |
|
input_handle_c0_control(ch, ictx); |
|
} |
} |
|
|
|
/* Handle C0 immediately. */ |
|
input_handle_c0_control(ch, ictx); |
|
|
/* |
/* |
* Just come back to this state, in case the next character |
* Just come back to this state, in case the next character |
* is the start of a private sequence. |
* is the start of a private sequence. |
|
|
if (ch == 0x1b) { /* ESC */ |
if (ch == 0x1b) { /* ESC */ |
/* Abort sequence and begin with new. */ |
/* Abort sequence and begin with new. */ |
input_state(ictx, input_state_escape); |
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. */ |
/* Abort sequence. */ |
input_state(ictx, input_state_first); |
input_state(ictx, input_state_first); |
} else { |
return; |
/* Handle C0 immediately. */ |
|
input_handle_c0_control(ch, ictx); |
|
} |
} |
|
|
|
/* Handle C0 immediately. */ |
|
input_handle_c0_control(ch, ictx); |
|
|
return; |
return; |
} |
} |
|
|