aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-05-08 05:44:25 -0400
committerJesse Luehrs <doy@tozt.net>2014-05-08 05:44:25 -0400
commit28238c4abce6562a4958144f28b3982efb2b53ba (patch)
tree4a285148dc0d599a33c014b6d8fa44a927353e8b
parent1638a5e8a90f0f0a6d46cdf3ff9f2393c45c248a (diff)
downloadrunes-28238c4abce6562a4958144f28b3982efb2b53ba.tar.gz
runes-28238c4abce6562a4958144f28b3982efb2b53ba.zip
remove some duplication
-rw-r--r--src/parser.c46
-rw-r--r--src/parser.l46
2 files changed, 12 insertions, 80 deletions
diff --git a/src/parser.c b/src/parser.c
index 388097d..1fc6745 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -2859,50 +2859,16 @@ static void runes_parser_handle_csr(RunesTerm *t, char *buf, size_t len)
static void runes_parser_handle_decsed(RunesTerm *t, char *buf, size_t len)
{
- int params[RUNES_PARSER_CSI_MAX_PARAMS] = { 0 }, nparams;
-
- runes_parser_extract_csi_params(buf + 2, len - 3, params, &nparams);
- switch (params[0]) {
- case 0:
- /* XXX not quite correct */
- runes_screen_clear_screen_forward(t);
- break;
- case 1:
- /* XXX */
- runes_warn("unhandled DECSED parameter 1\n");
- break;
- case 2:
- /* XXX not quite correct */
- runes_screen_clear_screen(t);
- break;
- default:
- runes_warn("unknown DECSED parameter %d\n", params[0]);
- break;
- }
+ /* XXX not quite correct, but i don't think programs really use anything
+ * that would show a difference */
+ runes_parser_handle_ed(t, buf, len);
}
static void runes_parser_handle_decsel(RunesTerm *t, char *buf, size_t len)
{
- int params[RUNES_PARSER_CSI_MAX_PARAMS] = { 0 }, nparams;
-
- runes_parser_extract_csi_params(buf + 2, len - 3, params, &nparams);
- switch (params[0]) {
- case 0:
- /* XXX not quite correct */
- runes_screen_kill_line_forward(t);
- break;
- case 1:
- /* XXX */
- runes_warn("unhandled DECSEL parameter 1\n");
- break;
- case 2:
- /* XXX */
- runes_warn("unhandled DECSEL parameter 2\n");
- break;
- default:
- runes_warn("unknown DECSEL parameter %d\n", params[0]);
- break;
- }
+ /* XXX not quite correct, but i don't think programs really use anything
+ * that would show a difference */
+ runes_parser_handle_el(t, buf, len);
}
static void runes_parser_handle_osc0(RunesTerm *t, char *buf, size_t len)
diff --git a/src/parser.l b/src/parser.l
index b22c7a1..f289c22 100644
--- a/src/parser.l
+++ b/src/parser.l
@@ -729,50 +729,16 @@ static void runes_parser_handle_csr(RunesTerm *t, char *buf, size_t len)
static void runes_parser_handle_decsed(RunesTerm *t, char *buf, size_t len)
{
- int params[RUNES_PARSER_CSI_MAX_PARAMS] = { 0 }, nparams;
-
- runes_parser_extract_csi_params(buf + 2, len - 3, params, &nparams);
- switch (params[0]) {
- case 0:
- /* XXX not quite correct */
- runes_screen_clear_screen_forward(t);
- break;
- case 1:
- /* XXX */
- runes_warn("unhandled DECSED parameter 1\n");
- break;
- case 2:
- /* XXX not quite correct */
- runes_screen_clear_screen(t);
- break;
- default:
- runes_warn("unknown DECSED parameter %d\n", params[0]);
- break;
- }
+ /* XXX not quite correct, but i don't think programs really use anything
+ * that would show a difference */
+ runes_parser_handle_ed(t, buf, len);
}
static void runes_parser_handle_decsel(RunesTerm *t, char *buf, size_t len)
{
- int params[RUNES_PARSER_CSI_MAX_PARAMS] = { 0 }, nparams;
-
- runes_parser_extract_csi_params(buf + 2, len - 3, params, &nparams);
- switch (params[0]) {
- case 0:
- /* XXX not quite correct */
- runes_screen_kill_line_forward(t);
- break;
- case 1:
- /* XXX */
- runes_warn("unhandled DECSEL parameter 1\n");
- break;
- case 2:
- /* XXX */
- runes_warn("unhandled DECSEL parameter 2\n");
- break;
- default:
- runes_warn("unknown DECSEL parameter %d\n", params[0]);
- break;
- }
+ /* XXX not quite correct, but i don't think programs really use anything
+ * that would show a difference */
+ runes_parser_handle_el(t, buf, len);
}
static void runes_parser_handle_osc0(RunesTerm *t, char *buf, size_t len)