| 
																	
																	
																	
																 | 
																@ -1,5 +1,4 @@ | 
															
														
														
													
														
															
																 | 
																 | 
																/* See LICENSE for licence details. */ | 
																 | 
																 | 
																/* See LICENSE for licence details. */ | 
															
														
														
													
														
															
																 | 
																 | 
																#define _XOPEN_SOURCE 600 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																#include <ctype.h> | 
																 | 
																 | 
																#include <ctype.h> | 
															
														
														
													
														
															
																 | 
																 | 
																#include <errno.h> | 
																 | 
																 | 
																#include <errno.h> | 
															
														
														
													
														
															
																 | 
																 | 
																#include <fcntl.h> | 
																 | 
																 | 
																#include <fcntl.h> | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1304,6 +1303,7 @@ csiparse(void) { | 
															
														
														
													
														
															
																 | 
																 | 
																		p++; | 
																 | 
																 | 
																		p++; | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	csiescseq.buf[csiescseq.len] = '\0'; | 
															
														
														
													
														
															
																 | 
																 | 
																	while(p < csiescseq.buf+csiescseq.len) { | 
																 | 
																 | 
																	while(p < csiescseq.buf+csiescseq.len) { | 
															
														
														
													
														
															
																 | 
																 | 
																		np = NULL; | 
																 | 
																 | 
																		np = NULL; | 
															
														
														
													
														
															
																 | 
																 | 
																		v = strtol(p, &np, 10); | 
																 | 
																 | 
																		v = strtol(p, &np, 10); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1925,14 +1925,12 @@ strhandle(void) { | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																void | 
																 | 
																 | 
																void | 
															
														
														
													
														
															
																 | 
																 | 
																strparse(void) { | 
																 | 
																 | 
																strparse(void) { | 
															
														
														
													
														
															
																 | 
																 | 
																	char *p = strescseq.buf, *sp; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	char *p = strescseq.buf; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	strescseq.narg = 0; | 
															
														
														
													
														
															
																 | 
																 | 
																	strescseq.buf[strescseq.len] = '\0'; | 
																 | 
																 | 
																	strescseq.buf[strescseq.len] = '\0'; | 
															
														
														
													
														
															
																 | 
																 | 
																	for(p = strtok_r(p, ";", &sp); p; p = strtok_r(NULL, ";", &sp)) { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		if(strescseq.narg == STR_ARG_SIZ) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																			return; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		strescseq.args[strescseq.narg++] = p; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	while(p && strescseq.narg < STR_ARG_SIZ) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		strescseq.args[strescseq.narg++] = strsep(&p, ";"); | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																void | 
																 | 
																 | 
																void | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -2109,7 +2107,8 @@ tputc(char *c, int len) { | 
															
														
														
													
														
															
																 | 
																 | 
																		if(term.esc & ESC_CSI) { | 
																 | 
																 | 
																		if(term.esc & ESC_CSI) { | 
															
														
														
													
														
															
																 | 
																 | 
																			csiescseq.buf[csiescseq.len++] = ascii; | 
																 | 
																 | 
																			csiescseq.buf[csiescseq.len++] = ascii; | 
															
														
														
													
														
															
																 | 
																 | 
																			if(BETWEEN(ascii, 0x40, 0x7E) | 
																 | 
																 | 
																			if(BETWEEN(ascii, 0x40, 0x7E) | 
															
														
														
													
														
															
																 | 
																 | 
																					|| csiescseq.len >= ESC_BUF_SIZ) { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																					|| csiescseq.len >= \ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																					sizeof(csiescseq.buf)-1) { | 
															
														
														
													
														
															
																 | 
																 | 
																				term.esc = 0; | 
																 | 
																 | 
																				term.esc = 0; | 
															
														
														
													
														
															
																 | 
																 | 
																				csiparse(); | 
																 | 
																 | 
																				csiparse(); | 
															
														
														
													
														
															
																 | 
																 | 
																				csihandle(); | 
																 | 
																 | 
																				csihandle(); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |