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 | |
| parent | 3764f38fc805a8846bd18f1d555a10227fd14e29 (diff) | |
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.
| -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 '[': | 
