Correct shift amount on MODE_INSERT in tputc()
When MODE_INSERT is set we'd shift characters on the same line forward before inserting our character in tputc(). This did not account for wide characters where width != 1. This patch makes it so we shift the correct amount.
This commit is contained in:
		
							parent
							
								
									4d14d97547
								
							
						
					
					
						commit
						aba6c292af
					
				
							
								
								
									
										4
									
								
								st.c
								
								
								
								
							
							
						
						
									
										4
									
								
								st.c
								
								
								
								
							| 
						 | 
					@ -2676,8 +2676,8 @@ tputc(char *c, int len) {
 | 
				
			||||||
		gp = &term.line[term.c.y][term.c.x];
 | 
							gp = &term.line[term.c.y][term.c.x];
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if(IS_SET(MODE_INSERT) && term.c.x+1 < term.col)
 | 
						if(IS_SET(MODE_INSERT) && term.c.x+width < term.col)
 | 
				
			||||||
		memmove(gp+1, gp, (term.col - term.c.x - 1) * sizeof(Glyph));
 | 
							memmove(gp+width, gp, (term.col - term.c.x - width) * sizeof(Glyph));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if(term.c.x+width > term.col) {
 | 
						if(term.c.x+width > term.col) {
 | 
				
			||||||
		tnewline(1);
 | 
							tnewline(1);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue