| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1300,8 +1300,10 @@ csiparse(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						long int v; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						csiescseq.narg = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(*p == '?') | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							csiescseq.priv = 1, p++; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						if(*p == '?') { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							csiescseq.priv = 1; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							p++; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						while(p < csiescseq.buf+csiescseq.len) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							np = NULL; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -1928,23 +1930,17 @@ strhandle(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					strparse(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 * TODO: Implement parsing like for CSI when required. | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 * Format: ESC type cmd ';' arg0 [';' argn] ESC \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						int narg = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						char *start = strescseq.buf, *end = start + strescseq.len; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						strescseq.args[0] = start; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						while(start < end && narg < LEN(strescseq.args)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							start = memchr(start, ';', end - start); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(!start) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								break; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							*start++ = '\0'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(start < end) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								strescseq.args[++narg] = start; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						char *p = strescseq.buf, *np, *sp; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						strescseq.narg = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						np = strtok_r(strescseq.buf, ";", &sp); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						while(p < strescseq.buf+strescseq.len && np != NULL) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							strescseq.args[strescseq.narg++] = p; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							np = strtok_r(NULL, ";", &sp); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(np != NULL) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								p = np; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						strescseq.narg = narg + 1; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |