STREscape: don't trim prematurely
STRescape holds strings in escape sequences such as OSC and DCS, and its buffer is 512 bytes. If the input is too big then trailing chars are ignored, but the test was off-by-1 such that it took 510 chars instead of 511 (before a terminating NULL is added). Now the full size can be utilized.
This commit is contained in:
		
							parent
							
								
									ea4d933ed9
								
							
						
					
					
						commit
						7ceb3d1f72
					
				
							
								
								
									
										2
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								st.c
									
									
									
									
									
								
							| @ -2330,7 +2330,7 @@ tputc(Rune u) | |||||||
| 		if (term.esc&ESC_DCS && strescseq.len == 0 && u == 'q') | 		if (term.esc&ESC_DCS && strescseq.len == 0 && u == 'q') | ||||||
| 			term.mode |= MODE_SIXEL; | 			term.mode |= MODE_SIXEL; | ||||||
| 
 | 
 | ||||||
| 		if (strescseq.len+len >= sizeof(strescseq.buf)-1) { | 		if (strescseq.len+len >= sizeof(strescseq.buf)) { | ||||||
| 			/*
 | 			/*
 | ||||||
| 			 * Here is a bug in terminals. If the user never sends | 			 * Here is a bug in terminals. If the user never sends | ||||||
| 			 * some code to stop the str or esc command, then st | 			 * some code to stop the str or esc command, then st | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user