diff --git a/vt.c b/vt.c index 7f57f902..114aba02 100644 --- a/vt.c +++ b/vt.c @@ -570,33 +570,33 @@ static enum state state_ground_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ case 0x00 ... 0x17: case 0x19: - case 0x1c ... 0x1f: action_execute(term, data); return STATE_GROUND; + case 0x1c ... 0x1f: action_execute(term, data); return STATE_GROUND; - case 0x20 ... 0x7f: action_print(term, data); return STATE_GROUND; + case 0x20 ... 0x7f: action_print(term, data); return STATE_GROUND; - case 0xc0 ... 0xdf: action_utf8_2_entry(term, data); return STATE_UTF8_COLLECT_1; - case 0xe0 ... 0xef: action_utf8_3_entry(term, data); return STATE_UTF8_COLLECT_2; - case 0xf0 ... 0xf7: action_utf8_4_entry(term, data); return STATE_UTF8_COLLECT_3; + case 0xc0 ... 0xdf: action_utf8_2_entry(term, data); return STATE_UTF8_COLLECT_1; + case 0xe0 ... 0xef: action_utf8_3_entry(term, data); return STATE_UTF8_COLLECT_2; + case 0xf0 ... 0xf7: action_utf8_4_entry(term, data); return STATE_UTF8_COLLECT_3; /* Anywhere */ - case 0x18: action_execute(term, data); return STATE_GROUND; - case 0x1a: action_execute(term, data); return STATE_GROUND; - case 0x1b: action_clear(term); return STATE_ESCAPE; - case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; - case 0x90: action_clear(term); return STATE_DCS_ENTRY; - case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; - case 0x98: return STATE_SOS_PM_APC_STRING; - case 0x99: action_execute(term, data); return STATE_GROUND; - case 0x9a: action_execute(term, data); return STATE_GROUND; - case 0x9b: action_clear(term); return STATE_CSI_ENTRY; - case 0x9c: return STATE_GROUND; - case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; - case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; + case 0x18: action_execute(term, data); return STATE_GROUND; + case 0x1a: action_execute(term, data); return STATE_GROUND; + case 0x1b: action_clear(term); return STATE_ESCAPE; + case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; + case 0x90: action_clear(term); return STATE_DCS_ENTRY; + case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; + case 0x98: return STATE_SOS_PM_APC_STRING; + case 0x99: action_execute(term, data); return STATE_GROUND; + case 0x9a: action_execute(term, data); return STATE_GROUND; + case 0x9b: action_clear(term); return STATE_CSI_ENTRY; + case 0x9c: return STATE_GROUND; + case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; + case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; - default: return STATE_GROUND; + default: return STATE_GROUND; } } @@ -604,41 +604,41 @@ static enum state state_escape_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ case 0x00 ... 0x17: case 0x19: - case 0x1c ... 0x1f: action_execute(term, data); return STATE_ESCAPE; + case 0x1c ... 0x1f: action_execute(term, data); return STATE_ESCAPE; - case 0x20 ... 0x2f: action_collect(term, data); return STATE_ESCAPE_INTERMEDIATE; - case 0x30 ... 0x4f: action_esc_dispatch(term, data); return STATE_GROUND; - case 0x50: action_clear(term); return STATE_DCS_ENTRY; - case 0x51 ... 0x57: action_esc_dispatch(term, data); return STATE_GROUND; - case 0x58: return STATE_SOS_PM_APC_STRING; - case 0x59: action_esc_dispatch(term, data); return STATE_GROUND; - case 0x5a: action_esc_dispatch(term, data); return STATE_GROUND; - case 0x5b: action_clear(term); return STATE_CSI_ENTRY; - case 0x5c: action_esc_dispatch(term, data); return STATE_GROUND; - case 0x5d: action_osc_start(term, data); return STATE_OSC_STRING; - case 0x5e ... 0x5f: return STATE_SOS_PM_APC_STRING; - case 0x60 ... 0x7e: action_esc_dispatch(term, data); return STATE_GROUND; - case 0x7f: action_ignore(term); return STATE_ESCAPE; + case 0x20 ... 0x2f: action_collect(term, data); return STATE_ESCAPE_INTERMEDIATE; + case 0x30 ... 0x4f: action_esc_dispatch(term, data); return STATE_GROUND; + case 0x50: action_clear(term); return STATE_DCS_ENTRY; + case 0x51 ... 0x57: action_esc_dispatch(term, data); return STATE_GROUND; + case 0x58: return STATE_SOS_PM_APC_STRING; + case 0x59: action_esc_dispatch(term, data); return STATE_GROUND; + case 0x5a: action_esc_dispatch(term, data); return STATE_GROUND; + case 0x5b: action_clear(term); return STATE_CSI_ENTRY; + case 0x5c: action_esc_dispatch(term, data); return STATE_GROUND; + case 0x5d: action_osc_start(term, data); return STATE_OSC_STRING; + case 0x5e ... 0x5f: return STATE_SOS_PM_APC_STRING; + case 0x60 ... 0x7e: action_esc_dispatch(term, data); return STATE_GROUND; + case 0x7f: action_ignore(term); return STATE_ESCAPE; /* Anywhere */ - case 0x18: action_execute(term, data); return STATE_GROUND; - case 0x1a: action_execute(term, data); return STATE_GROUND; - case 0x1b: action_clear(term); return STATE_ESCAPE; - case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; - case 0x90: action_clear(term); return STATE_DCS_ENTRY; - case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; - case 0x98: return STATE_SOS_PM_APC_STRING; - case 0x99: action_execute(term, data); return STATE_GROUND; - case 0x9a: action_execute(term, data); return STATE_GROUND; - case 0x9b: action_clear(term); return STATE_CSI_ENTRY; - case 0x9c: return STATE_GROUND; - case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; - case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; + case 0x18: action_execute(term, data); return STATE_GROUND; + case 0x1a: action_execute(term, data); return STATE_GROUND; + case 0x1b: action_clear(term); return STATE_ESCAPE; + case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; + case 0x90: action_clear(term); return STATE_DCS_ENTRY; + case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; + case 0x98: return STATE_SOS_PM_APC_STRING; + case 0x99: action_execute(term, data); return STATE_GROUND; + case 0x9a: action_execute(term, data); return STATE_GROUND; + case 0x9b: action_clear(term); return STATE_CSI_ENTRY; + case 0x9c: return STATE_GROUND; + case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; + case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; - default: return STATE_ESCAPE; + default: return STATE_ESCAPE; } } @@ -646,31 +646,31 @@ static enum state state_escape_intermediate_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ case 0x00 ... 0x17: case 0x19: - case 0x1c ... 0x1f: action_execute(term, data); return STATE_ESCAPE_INTERMEDIATE; + case 0x1c ... 0x1f: action_execute(term, data); return STATE_ESCAPE_INTERMEDIATE; - case 0x20 ... 0x2f: action_collect(term, data); return STATE_ESCAPE_INTERMEDIATE; - case 0x30 ... 0x7e: action_esc_dispatch(term, data); return STATE_GROUND; - case 0x7f: action_ignore(term); return STATE_ESCAPE_INTERMEDIATE; + case 0x20 ... 0x2f: action_collect(term, data); return STATE_ESCAPE_INTERMEDIATE; + case 0x30 ... 0x7e: action_esc_dispatch(term, data); return STATE_GROUND; + case 0x7f: action_ignore(term); return STATE_ESCAPE_INTERMEDIATE; /* Anywhere */ - case 0x18: action_execute(term, data); return STATE_GROUND; - case 0x1a: action_execute(term, data); return STATE_GROUND; - case 0x1b: action_clear(term); return STATE_ESCAPE; - case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; - case 0x90: action_clear(term); return STATE_DCS_ENTRY; - case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; - case 0x98: return STATE_SOS_PM_APC_STRING; - case 0x99: action_execute(term, data); return STATE_GROUND; - case 0x9a: action_execute(term, data); return STATE_GROUND; - case 0x9b: action_clear(term); return STATE_CSI_ENTRY; - case 0x9c: return STATE_GROUND; - case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; - case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; + case 0x18: action_execute(term, data); return STATE_GROUND; + case 0x1a: action_execute(term, data); return STATE_GROUND; + case 0x1b: action_clear(term); return STATE_ESCAPE; + case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; + case 0x90: action_clear(term); return STATE_DCS_ENTRY; + case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; + case 0x98: return STATE_SOS_PM_APC_STRING; + case 0x99: action_execute(term, data); return STATE_GROUND; + case 0x9a: action_execute(term, data); return STATE_GROUND; + case 0x9b: action_clear(term); return STATE_CSI_ENTRY; + case 0x9c: return STATE_GROUND; + case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; + case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; - default: return STATE_ESCAPE_INTERMEDIATE; + default: return STATE_ESCAPE_INTERMEDIATE; } } @@ -678,34 +678,34 @@ static enum state state_csi_entry_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ case 0x00 ... 0x17: case 0x19: - case 0x1c ... 0x1f: action_execute(term, data); return STATE_CSI_ENTRY; + case 0x1c ... 0x1f: action_execute(term, data); return STATE_CSI_ENTRY; - case 0x20 ... 0x2f: action_collect(term, data); return STATE_CSI_INTERMEDIATE; - case 0x30 ... 0x39: action_param(term, data); return STATE_CSI_PARAM; - case 0x3a ... 0x3b: return STATE_CSI_PARAM; - case 0x3c ... 0x3f: action_collect(term, data); return STATE_CSI_PARAM; - case 0x40 ... 0x7e: action_csi_dispatch(term, data); return STATE_GROUND; - case 0x7f: action_ignore(term); return STATE_CSI_ENTRY; + case 0x20 ... 0x2f: action_collect(term, data); return STATE_CSI_INTERMEDIATE; + case 0x30 ... 0x39: action_param(term, data); return STATE_CSI_PARAM; + case 0x3a ... 0x3b: return STATE_CSI_PARAM; + case 0x3c ... 0x3f: action_collect(term, data); return STATE_CSI_PARAM; + case 0x40 ... 0x7e: action_csi_dispatch(term, data); return STATE_GROUND; + case 0x7f: action_ignore(term); return STATE_CSI_ENTRY; /* Anywhere */ - case 0x18: action_execute(term, data); return STATE_GROUND; - case 0x1a: action_execute(term, data); return STATE_GROUND; - case 0x1b: action_clear(term); return STATE_ESCAPE; - case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; - case 0x90: action_clear(term); return STATE_DCS_ENTRY; - case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; - case 0x98: return STATE_SOS_PM_APC_STRING; - case 0x99: action_execute(term, data); return STATE_GROUND; - case 0x9a: action_execute(term, data); return STATE_GROUND; - case 0x9b: action_clear(term); return STATE_CSI_ENTRY; - case 0x9c: return STATE_GROUND; - case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; - case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; + case 0x18: action_execute(term, data); return STATE_GROUND; + case 0x1a: action_execute(term, data); return STATE_GROUND; + case 0x1b: action_clear(term); return STATE_ESCAPE; + case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; + case 0x90: action_clear(term); return STATE_DCS_ENTRY; + case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; + case 0x98: return STATE_SOS_PM_APC_STRING; + case 0x99: action_execute(term, data); return STATE_GROUND; + case 0x9a: action_execute(term, data); return STATE_GROUND; + case 0x9b: action_clear(term); return STATE_CSI_ENTRY; + case 0x9c: return STATE_GROUND; + case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; + case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; - default: return STATE_CSI_ENTRY; + default: return STATE_CSI_ENTRY; } } @@ -713,36 +713,36 @@ static enum state state_csi_param_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ case 0x00 ... 0x17: case 0x19: - case 0x1c ... 0x1f: action_execute(term, data); return STATE_CSI_PARAM; + case 0x1c ... 0x1f: action_execute(term, data); return STATE_CSI_PARAM; - case 0x20 ... 0x2f: action_collect(term, data); return STATE_CSI_INTERMEDIATE; + case 0x20 ... 0x2f: action_collect(term, data); return STATE_CSI_INTERMEDIATE; case 0x30 ... 0x39: - case 0x3a ... 0x3b: action_param(term, data); return STATE_CSI_PARAM; + case 0x3a ... 0x3b: action_param(term, data); return STATE_CSI_PARAM; - case 0x3c ... 0x3f: return STATE_CSI_IGNORE; - case 0x40 ... 0x7e: action_csi_dispatch(term, data); return STATE_GROUND; - case 0x7f: action_ignore(term); return STATE_CSI_PARAM; + case 0x3c ... 0x3f: return STATE_CSI_IGNORE; + case 0x40 ... 0x7e: action_csi_dispatch(term, data); return STATE_GROUND; + case 0x7f: action_ignore(term); return STATE_CSI_PARAM; /* Anywhere */ - case 0x18: action_execute(term, data); return STATE_GROUND; - case 0x1a: action_execute(term, data); return STATE_GROUND; - case 0x1b: action_clear(term); return STATE_ESCAPE; - case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; - case 0x90: action_clear(term); return STATE_DCS_ENTRY; - case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; - case 0x98: return STATE_SOS_PM_APC_STRING; - case 0x99: action_execute(term, data); return STATE_GROUND; - case 0x9a: action_execute(term, data); return STATE_GROUND; - case 0x9b: action_clear(term); return STATE_CSI_ENTRY; - case 0x9c: return STATE_GROUND; - case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; - case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; + case 0x18: action_execute(term, data); return STATE_GROUND; + case 0x1a: action_execute(term, data); return STATE_GROUND; + case 0x1b: action_clear(term); return STATE_ESCAPE; + case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; + case 0x90: action_clear(term); return STATE_DCS_ENTRY; + case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; + case 0x98: return STATE_SOS_PM_APC_STRING; + case 0x99: action_execute(term, data); return STATE_GROUND; + case 0x9a: action_execute(term, data); return STATE_GROUND; + case 0x9b: action_clear(term); return STATE_CSI_ENTRY; + case 0x9c: return STATE_GROUND; + case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; + case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; - default: return STATE_CSI_PARAM; + default: return STATE_CSI_PARAM; } } @@ -750,32 +750,32 @@ static enum state state_csi_intermediate_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ case 0x00 ... 0x17: case 0x19: - case 0x1c ... 0x1f: action_execute(term, data); return STATE_CSI_INTERMEDIATE; + case 0x1c ... 0x1f: action_execute(term, data); return STATE_CSI_INTERMEDIATE; - case 0x20 ... 0x2f: action_collect(term, data); return STATE_CSI_INTERMEDIATE; - case 0x30 ... 0x3f: return STATE_CSI_IGNORE; - case 0x40 ... 0x7e: action_csi_dispatch(term, data); return STATE_GROUND; - case 0x7f: action_ignore(term); return STATE_CSI_INTERMEDIATE; + case 0x20 ... 0x2f: action_collect(term, data); return STATE_CSI_INTERMEDIATE; + case 0x30 ... 0x3f: return STATE_CSI_IGNORE; + case 0x40 ... 0x7e: action_csi_dispatch(term, data); return STATE_GROUND; + case 0x7f: action_ignore(term); return STATE_CSI_INTERMEDIATE; /* Anywhere */ - case 0x18: action_execute(term, data); return STATE_GROUND; - case 0x1a: action_execute(term, data); return STATE_GROUND; - case 0x1b: action_clear(term); return STATE_ESCAPE; - case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; - case 0x90: action_clear(term); return STATE_DCS_ENTRY; - case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; - case 0x98: return STATE_SOS_PM_APC_STRING; - case 0x99: action_execute(term, data); return STATE_GROUND; - case 0x9a: action_execute(term, data); return STATE_GROUND; - case 0x9b: action_clear(term); return STATE_CSI_ENTRY; - case 0x9c: return STATE_GROUND; - case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; - case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; + case 0x18: action_execute(term, data); return STATE_GROUND; + case 0x1a: action_execute(term, data); return STATE_GROUND; + case 0x1b: action_clear(term); return STATE_ESCAPE; + case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; + case 0x90: action_clear(term); return STATE_DCS_ENTRY; + case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; + case 0x98: return STATE_SOS_PM_APC_STRING; + case 0x99: action_execute(term, data); return STATE_GROUND; + case 0x9a: action_execute(term, data); return STATE_GROUND; + case 0x9b: action_clear(term); return STATE_CSI_ENTRY; + case 0x9c: return STATE_GROUND; + case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; + case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; - default: return STATE_CSI_INTERMEDIATE; + default: return STATE_CSI_INTERMEDIATE; } } @@ -783,31 +783,31 @@ static enum state state_csi_ignore_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ case 0x00 ... 0x17: case 0x19: - case 0x1c ... 0x1f: action_execute(term, data); return STATE_CSI_IGNORE; + case 0x1c ... 0x1f: action_execute(term, data); return STATE_CSI_IGNORE; - case 0x20 ... 0x3f: action_ignore(term); return STATE_CSI_IGNORE; - case 0x40 ... 0x7e: return STATE_GROUND; - case 0x7f: action_ignore(term); return STATE_CSI_IGNORE; + case 0x20 ... 0x3f: action_ignore(term); return STATE_CSI_IGNORE; + case 0x40 ... 0x7e: return STATE_GROUND; + case 0x7f: action_ignore(term); return STATE_CSI_IGNORE; /* Anywhere */ - case 0x18: action_execute(term, data); return STATE_GROUND; - case 0x1a: action_execute(term, data); return STATE_GROUND; - case 0x1b: action_clear(term); return STATE_ESCAPE; - case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; - case 0x90: action_clear(term); return STATE_DCS_ENTRY; - case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; - case 0x98: return STATE_SOS_PM_APC_STRING; - case 0x99: action_execute(term, data); return STATE_GROUND; - case 0x9a: action_execute(term, data); return STATE_GROUND; - case 0x9b: action_clear(term); return STATE_CSI_ENTRY; - case 0x9c: return STATE_GROUND; - case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; - case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; + case 0x18: action_execute(term, data); return STATE_GROUND; + case 0x1a: action_execute(term, data); return STATE_GROUND; + case 0x1b: action_clear(term); return STATE_ESCAPE; + case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; + case 0x90: action_clear(term); return STATE_DCS_ENTRY; + case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; + case 0x98: return STATE_SOS_PM_APC_STRING; + case 0x99: action_execute(term, data); return STATE_GROUND; + case 0x9a: action_execute(term, data); return STATE_GROUND; + case 0x9b: action_clear(term); return STATE_CSI_ENTRY; + case 0x9c: return STATE_GROUND; + case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; + case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; - default: return STATE_CSI_IGNORE; + default: return STATE_CSI_IGNORE; } } @@ -815,23 +815,23 @@ static enum state state_osc_string_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ /* Note: original was 20-7f, but I changed to 20-ff to include utf-8. Don't forget to add EXECUTE to 8-bit C1 if we implement that. */ - default: action_osc_put(term, data); return STATE_OSC_STRING; + default: action_osc_put(term, data); return STATE_OSC_STRING; - case 0x07: action_osc_end(term, data); return STATE_GROUND; + case 0x07: action_osc_end(term, data); return STATE_GROUND; case 0x00 ... 0x06: case 0x08 ... 0x17: case 0x19: - case 0x1c ... 0x1f: action_ignore(term); return STATE_OSC_STRING; + case 0x1c ... 0x1f: action_ignore(term); return STATE_OSC_STRING; case 0x18: - case 0x1a: action_osc_end(term, data); action_execute(term, data); return STATE_GROUND; + case 0x1a: action_osc_end(term, data); action_execute(term, data); return STATE_GROUND; - case 0x1b: action_osc_end(term, data); action_clear(term); return STATE_ESCAPE; + case 0x1b: action_osc_end(term, data); action_clear(term); return STATE_ESCAPE; } } @@ -839,35 +839,35 @@ static enum state state_dcs_entry_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ case 0x00 ... 0x17: case 0x19: - case 0x1c ... 0x1f: action_ignore(term); return STATE_DCS_ENTRY; + case 0x1c ... 0x1f: action_ignore(term); return STATE_DCS_ENTRY; - case 0x20 ... 0x2f: action_collect(term, data); return STATE_DCS_INTERMEDIATE; - case 0x30 ... 0x39: action_param(term, data); return STATE_DCS_PARAM; - case 0x3a: return STATE_DCS_IGNORE; - case 0x3b: action_param(term, data); return STATE_DCS_PARAM; - case 0x3c ... 0x3f: action_collect(term, data); return STATE_DCS_PARAM; - case 0x40 ... 0x7e: action_hook(term, data); return STATE_DCS_PASSTHROUGH; - case 0x7f: action_ignore(term); return STATE_DCS_ENTRY; + case 0x20 ... 0x2f: action_collect(term, data); return STATE_DCS_INTERMEDIATE; + case 0x30 ... 0x39: action_param(term, data); return STATE_DCS_PARAM; + case 0x3a: return STATE_DCS_IGNORE; + case 0x3b: action_param(term, data); return STATE_DCS_PARAM; + case 0x3c ... 0x3f: action_collect(term, data); return STATE_DCS_PARAM; + case 0x40 ... 0x7e: action_hook(term, data); return STATE_DCS_PASSTHROUGH; + case 0x7f: action_ignore(term); return STATE_DCS_ENTRY; /* Anywhere */ - case 0x18: action_execute(term, data); return STATE_GROUND; - case 0x1a: action_execute(term, data); return STATE_GROUND; - case 0x1b: action_clear(term); return STATE_ESCAPE; - case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; - case 0x90: action_clear(term); return STATE_DCS_ENTRY; - case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; - case 0x98: return STATE_SOS_PM_APC_STRING; - case 0x99: action_execute(term, data); return STATE_GROUND; - case 0x9a: action_execute(term, data); return STATE_GROUND; - case 0x9b: action_clear(term); return STATE_CSI_ENTRY; - case 0x9c: return STATE_GROUND; - case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; - case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; + case 0x18: action_execute(term, data); return STATE_GROUND; + case 0x1a: action_execute(term, data); return STATE_GROUND; + case 0x1b: action_clear(term); return STATE_ESCAPE; + case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; + case 0x90: action_clear(term); return STATE_DCS_ENTRY; + case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; + case 0x98: return STATE_SOS_PM_APC_STRING; + case 0x99: action_execute(term, data); return STATE_GROUND; + case 0x9a: action_execute(term, data); return STATE_GROUND; + case 0x9b: action_clear(term); return STATE_CSI_ENTRY; + case 0x9c: return STATE_GROUND; + case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; + case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; - default: return STATE_DCS_ENTRY; + default: return STATE_DCS_ENTRY; } } @@ -875,35 +875,35 @@ static enum state state_dcs_param_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ case 0x00 ... 0x17: case 0x19: - case 0x1c ... 0x1f: action_ignore(term); return STATE_DCS_PARAM; + case 0x1c ... 0x1f: action_ignore(term); return STATE_DCS_PARAM; - case 0x20 ... 0x2f: action_collect(term, data); return STATE_DCS_INTERMEDIATE; - case 0x30 ... 0x39: action_param(term, data); return STATE_DCS_PARAM; - case 0x3a: return STATE_DCS_IGNORE; - case 0x3b: action_param(term, data); return STATE_DCS_PARAM; - case 0x3c ... 0x3f: return STATE_DCS_IGNORE; - case 0x40 ... 0x7e: action_hook(term, data); return STATE_DCS_PASSTHROUGH; - case 0x7f: action_ignore(term); return STATE_DCS_PARAM; + case 0x20 ... 0x2f: action_collect(term, data); return STATE_DCS_INTERMEDIATE; + case 0x30 ... 0x39: action_param(term, data); return STATE_DCS_PARAM; + case 0x3a: return STATE_DCS_IGNORE; + case 0x3b: action_param(term, data); return STATE_DCS_PARAM; + case 0x3c ... 0x3f: return STATE_DCS_IGNORE; + case 0x40 ... 0x7e: action_hook(term, data); return STATE_DCS_PASSTHROUGH; + case 0x7f: action_ignore(term); return STATE_DCS_PARAM; /* Anywhere */ - case 0x18: action_execute(term, data); return STATE_GROUND; - case 0x1a: action_execute(term, data); return STATE_GROUND; - case 0x1b: action_clear(term); return STATE_ESCAPE; - case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; - case 0x90: action_clear(term); return STATE_DCS_ENTRY; - case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; - case 0x98: return STATE_SOS_PM_APC_STRING; - case 0x99: action_execute(term, data); return STATE_GROUND; - case 0x9a: action_execute(term, data); return STATE_GROUND; - case 0x9b: action_clear(term); return STATE_CSI_ENTRY; - case 0x9c: return STATE_GROUND; - case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; - case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; + case 0x18: action_execute(term, data); return STATE_GROUND; + case 0x1a: action_execute(term, data); return STATE_GROUND; + case 0x1b: action_clear(term); return STATE_ESCAPE; + case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; + case 0x90: action_clear(term); return STATE_DCS_ENTRY; + case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; + case 0x98: return STATE_SOS_PM_APC_STRING; + case 0x99: action_execute(term, data); return STATE_GROUND; + case 0x9a: action_execute(term, data); return STATE_GROUND; + case 0x9b: action_clear(term); return STATE_CSI_ENTRY; + case 0x9c: return STATE_GROUND; + case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; + case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; - default: return STATE_DCS_PARAM; + default: return STATE_DCS_PARAM; } } @@ -911,32 +911,32 @@ static enum state state_dcs_intermediate_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ case 0x00 ... 0x17: case 0x19: - case 0x1c ... 0x1f: action_ignore(term); return STATE_DCS_INTERMEDIATE; + case 0x1c ... 0x1f: action_ignore(term); return STATE_DCS_INTERMEDIATE; - case 0x20 ... 0x2f: action_collect(term, data); return STATE_DCS_INTERMEDIATE; - case 0x30 ... 0x3f: return STATE_DCS_IGNORE; - case 0x40 ... 0x7e: action_hook(term, data); return STATE_DCS_PASSTHROUGH; - case 0x7f: action_ignore(term); return STATE_DCS_INTERMEDIATE; + case 0x20 ... 0x2f: action_collect(term, data); return STATE_DCS_INTERMEDIATE; + case 0x30 ... 0x3f: return STATE_DCS_IGNORE; + case 0x40 ... 0x7e: action_hook(term, data); return STATE_DCS_PASSTHROUGH; + case 0x7f: action_ignore(term); return STATE_DCS_INTERMEDIATE; /* Anywhere */ - case 0x18: action_execute(term, data); return STATE_GROUND; - case 0x1a: action_execute(term, data); return STATE_GROUND; - case 0x1b: action_clear(term); return STATE_ESCAPE; - case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; - case 0x90: action_clear(term); return STATE_DCS_ENTRY; - case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; - case 0x98: return STATE_SOS_PM_APC_STRING; - case 0x99: action_execute(term, data); return STATE_GROUND; - case 0x9a: action_execute(term, data); return STATE_GROUND; - case 0x9b: action_clear(term); return STATE_CSI_ENTRY; - case 0x9c: return STATE_GROUND; - case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; - case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; + case 0x18: action_execute(term, data); return STATE_GROUND; + case 0x1a: action_execute(term, data); return STATE_GROUND; + case 0x1b: action_clear(term); return STATE_ESCAPE; + case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; + case 0x90: action_clear(term); return STATE_DCS_ENTRY; + case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; + case 0x98: return STATE_SOS_PM_APC_STRING; + case 0x99: action_execute(term, data); return STATE_GROUND; + case 0x9a: action_execute(term, data); return STATE_GROUND; + case 0x9b: action_clear(term); return STATE_CSI_ENTRY; + case 0x9c: return STATE_GROUND; + case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; + case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; - default: return STATE_DCS_INTERMEDIATE; + default: return STATE_DCS_INTERMEDIATE; } } @@ -944,28 +944,28 @@ static enum state state_dcs_ignore_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ case 0x00 ... 0x17: case 0x19: case 0x1c ... 0x1f: - case 0x20 ... 0x7f: action_ignore(term); return STATE_DCS_IGNORE; + case 0x20 ... 0x7f: action_ignore(term); return STATE_DCS_IGNORE; /* Anywhere */ - case 0x18: action_execute(term, data); return STATE_GROUND; - case 0x1a: action_execute(term, data); return STATE_GROUND; - case 0x1b: action_clear(term); return STATE_ESCAPE; - case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; - case 0x90: action_clear(term); return STATE_DCS_ENTRY; - case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; - case 0x98: return STATE_SOS_PM_APC_STRING; - case 0x99: action_execute(term, data); return STATE_GROUND; - case 0x9a: action_execute(term, data); return STATE_GROUND; - case 0x9b: action_clear(term); return STATE_CSI_ENTRY; - case 0x9c: return STATE_GROUND; - case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; - case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; + case 0x18: action_execute(term, data); return STATE_GROUND; + case 0x1a: action_execute(term, data); return STATE_GROUND; + case 0x1b: action_clear(term); return STATE_ESCAPE; + case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; + case 0x90: action_clear(term); return STATE_DCS_ENTRY; + case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; + case 0x98: return STATE_SOS_PM_APC_STRING; + case 0x99: action_execute(term, data); return STATE_GROUND; + case 0x9a: action_execute(term, data); return STATE_GROUND; + case 0x9b: action_clear(term); return STATE_CSI_ENTRY; + case 0x9c: return STATE_GROUND; + case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; + case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; - default: return STATE_DCS_IGNORE; + default: return STATE_DCS_IGNORE; } } @@ -973,29 +973,29 @@ static enum state state_dcs_passthrough_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ case 0x00 ... 0x17: case 0x19: - case 0x1c ... 0x7e: action_put(term, data); return STATE_DCS_PASSTHROUGH; + case 0x1c ... 0x7e: action_put(term, data); return STATE_DCS_PASSTHROUGH; - case 0x7f: action_ignore(term); return STATE_DCS_PASSTHROUGH; + case 0x7f: action_ignore(term); return STATE_DCS_PASSTHROUGH; /* Anywhere */ - case 0x18: action_unhook(term, data); action_execute(term, data); return STATE_GROUND; - case 0x1a: action_unhook(term, data); action_execute(term, data); return STATE_GROUND; - case 0x1b: action_unhook(term, data); action_clear(term); return STATE_ESCAPE; - case 0x80 ... 0x8f: action_unhook(term, data); action_execute(term, data); return STATE_GROUND; - case 0x90: action_unhook(term, data); action_clear(term); return STATE_DCS_ENTRY; - case 0x91 ... 0x97: action_unhook(term, data); action_execute(term, data); return STATE_GROUND; - case 0x98: action_unhook(term, data); return STATE_SOS_PM_APC_STRING; - case 0x99: action_unhook(term, data); action_execute(term, data); return STATE_GROUND; - case 0x9a: action_unhook(term, data); action_execute(term, data); return STATE_GROUND; - case 0x9b: action_unhook(term, data); action_clear(term); return STATE_CSI_ENTRY; - case 0x9c: action_unhook(term, data); return STATE_GROUND; - case 0x9d: action_unhook(term, data); action_osc_start(term, data); return STATE_OSC_STRING; - case 0x9e ... 0x9f: action_unhook(term, data); return STATE_SOS_PM_APC_STRING; + case 0x18: action_unhook(term, data); action_execute(term, data); return STATE_GROUND; + case 0x1a: action_unhook(term, data); action_execute(term, data); return STATE_GROUND; + case 0x1b: action_unhook(term, data); action_clear(term); return STATE_ESCAPE; + case 0x80 ... 0x8f: action_unhook(term, data); action_execute(term, data); return STATE_GROUND; + case 0x90: action_unhook(term, data); action_clear(term); return STATE_DCS_ENTRY; + case 0x91 ... 0x97: action_unhook(term, data); action_execute(term, data); return STATE_GROUND; + case 0x98: action_unhook(term, data); return STATE_SOS_PM_APC_STRING; + case 0x99: action_unhook(term, data); action_execute(term, data); return STATE_GROUND; + case 0x9a: action_unhook(term, data); action_execute(term, data); return STATE_GROUND; + case 0x9b: action_unhook(term, data); action_clear(term); return STATE_CSI_ENTRY; + case 0x9c: action_unhook(term, data); return STATE_GROUND; + case 0x9d: action_unhook(term, data); action_osc_start(term, data); return STATE_OSC_STRING; + case 0x9e ... 0x9f: action_unhook(term, data); return STATE_SOS_PM_APC_STRING; - default: return STATE_DCS_PASSTHROUGH; + default: return STATE_DCS_PASSTHROUGH; } } @@ -1003,27 +1003,27 @@ static enum state state_sos_pm_apc_string_switch(struct terminal *term, uint8_t data) { switch (data) { - /* exit current enter new state */ + /* exit current enter new state */ case 0x00 ... 0x17: case 0x19: - case 0x1c ... 0x7f: action_ignore(term); return STATE_SOS_PM_APC_STRING; + case 0x1c ... 0x7f: action_ignore(term); return STATE_SOS_PM_APC_STRING; /* Anywhere */ - case 0x18: action_execute(term, data); return STATE_GROUND; - case 0x1a: action_execute(term, data); return STATE_GROUND; - case 0x1b: action_clear(term); return STATE_ESCAPE; - case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; - case 0x90: action_clear(term); return STATE_DCS_ENTRY; - case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; - case 0x98: return STATE_SOS_PM_APC_STRING; - case 0x99: action_execute(term, data); return STATE_GROUND; - case 0x9a: action_execute(term, data); return STATE_GROUND; - case 0x9b: action_clear(term); return STATE_CSI_ENTRY; - case 0x9c: return STATE_GROUND; - case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; - case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; + case 0x18: action_execute(term, data); return STATE_GROUND; + case 0x1a: action_execute(term, data); return STATE_GROUND; + case 0x1b: action_clear(term); return STATE_ESCAPE; + case 0x80 ... 0x8f: action_execute(term, data); return STATE_GROUND; + case 0x90: action_clear(term); return STATE_DCS_ENTRY; + case 0x91 ... 0x97: action_execute(term, data); return STATE_GROUND; + case 0x98: return STATE_SOS_PM_APC_STRING; + case 0x99: action_execute(term, data); return STATE_GROUND; + case 0x9a: action_execute(term, data); return STATE_GROUND; + case 0x9b: action_clear(term); return STATE_CSI_ENTRY; + case 0x9c: return STATE_GROUND; + case 0x9d: action_osc_start(term, data); return STATE_OSC_STRING; + case 0x9e ... 0x9f: return STATE_SOS_PM_APC_STRING; - default: return STATE_SOS_PM_APC_STRING; + default: return STATE_SOS_PM_APC_STRING; } }