diff options
author | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2014-04-26 09:24:04 +0200 |
---|---|---|
committer | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2014-04-28 18:38:05 +0200 |
commit | 43d74ef362b7dc5da3232cdc9412981ea6386df6 (patch) | |
tree | 4764b8e5732aebf9bea8e022277635608b44062b /st.c | |
parent | 3764f38fc805a8846bd18f1d555a10227fd14e29 (diff) | |
download | st-43d74ef362b7dc5da3232cdc9412981ea6386df6.tar.gz st-43d74ef362b7dc5da3232cdc9412981ea6386df6.tar.bz2 |
Create a function for DEC test
Almost of the sequences execute their action in a separate function,
which is good because helps to read the full set of sequences
faster.
Diffstat (limited to 'st.c')
-rw-r--r-- | st.c | 24 |
1 files changed, 15 insertions, 9 deletions
@@ -394,6 +394,7 @@ static void tsetmode(bool, bool, int *, int); static void tfulldirt(void); static void techo(char *, int); static bool tcontrolcode(uchar ); +static void tdectest(char ); static int32_t tdefcolor(int *, int *, int); static void tselcs(void); static void tdeftran(char); @@ -2426,6 +2427,19 @@ tcontrolcode(uchar ascii) { } void +tdectest(char c) { + static char E[UTF_SIZ] = "E"; + int x, y; + + if(c == '8') { /* DEC screen alignment test. */ + for(x = 0; x < term.col; ++x) { + for(y = 0; y < term.row; ++y) + tsetchar(E, &term.c.attr, x, y); + } + } +} + +void tputc(char *c, int len) { uchar ascii; bool control; @@ -2504,15 +2518,7 @@ tputc(char *c, int len) { tdeftran(ascii); tselcs(); } else if(term.esc & ESC_TEST) { - if(ascii == '8') { /* DEC screen alignment test. */ - char E[UTF_SIZ] = "E"; - int x, y; - - for(x = 0; x < term.col; ++x) { - for(y = 0; y < term.row; ++y) - tsetchar(E, &term.c.attr, x, y); - } - } + tdectest(ascii); } else { switch(ascii) { case '[': |