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.
This commit is contained in:
		
							
								
								
									
										24
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								st.c
									
									
									
									
									
								
							| @@ -394,6 +394,7 @@ static void tsetmode(bool, bool, int *, int); | |||||||
| static void tfulldirt(void); | static void tfulldirt(void); | ||||||
| static void techo(char *, int); | static void techo(char *, int); | ||||||
| static bool tcontrolcode(uchar ); | static bool tcontrolcode(uchar ); | ||||||
|  | static void tdectest(char ); | ||||||
| static int32_t tdefcolor(int *, int *, int); | static int32_t tdefcolor(int *, int *, int); | ||||||
| static void tselcs(void); | static void tselcs(void); | ||||||
| static void tdeftran(char); | static void tdeftran(char); | ||||||
| @@ -2425,6 +2426,19 @@ tcontrolcode(uchar ascii) { | |||||||
| 	return 1; | 	return 1; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | 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 | void | ||||||
| tputc(char *c, int len) { | tputc(char *c, int len) { | ||||||
| 	uchar ascii; | 	uchar ascii; | ||||||
| @@ -2504,15 +2518,7 @@ tputc(char *c, int len) { | |||||||
| 			tdeftran(ascii); | 			tdeftran(ascii); | ||||||
| 			tselcs(); | 			tselcs(); | ||||||
| 		} else if(term.esc & ESC_TEST) { | 		} else if(term.esc & ESC_TEST) { | ||||||
| 			if(ascii == '8') { /* DEC screen alignment test. */ | 			tdectest(ascii); | ||||||
| 				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); |  | ||||||
| 				} |  | ||||||
| 			} |  | ||||||
| 		} else { | 		} else { | ||||||
| 			switch(ascii) { | 			switch(ascii) { | ||||||
| 			case '[': | 			case '[': | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Roberto E. Vargas Caballero
					Roberto E. Vargas Caballero