Simplify a bit more tdeletechar and tinsertblank
The large and repeated expression used in memmove to indirect the line can be simplified using a pointer, that makes more clear where begins and where ends the movement.dev
							parent
							
								
									80b32af794
								
							
						
					
					
						commit
						6b7f63bac5
					
				
							
								
								
									
										10
									
								
								st.c
								
								
								
								
							
							
						
						
									
										10
									
								
								st.c
								
								
								
								
							| 
						 | 
				
			
			@ -1587,30 +1587,32 @@ tclearregion(int x1, int y1, int x2, int y2) {
 | 
			
		|||
void
 | 
			
		||||
tdeletechar(int n) {
 | 
			
		||||
	int dst, src, size;
 | 
			
		||||
	Glyph *line;
 | 
			
		||||
 | 
			
		||||
	LIMIT(n, 0, term.col - term.c.x);
 | 
			
		||||
 | 
			
		||||
	dst = term.c.x;
 | 
			
		||||
	src = term.c.x + n;
 | 
			
		||||
	size = term.col - src;
 | 
			
		||||
	line = term.line[term.c.y];
 | 
			
		||||
 | 
			
		||||
	memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src],
 | 
			
		||||
	        size * sizeof(Glyph));
 | 
			
		||||
	memmove(&line[dst], &line[src], size * sizeof(Glyph));
 | 
			
		||||
	tclearregion(term.col-n, term.c.y, term.col-1, term.c.y);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
tinsertblank(int n) {
 | 
			
		||||
	int dst, src, size;
 | 
			
		||||
	Glyph *line;
 | 
			
		||||
 | 
			
		||||
	LIMIT(n, 0, term.col - term.c.x);
 | 
			
		||||
 | 
			
		||||
	dst = term.c.x + n;
 | 
			
		||||
	src = term.c.x;
 | 
			
		||||
	size = term.col - dst;
 | 
			
		||||
	line = term.line[term.c.y];
 | 
			
		||||
 | 
			
		||||
	memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src],
 | 
			
		||||
	        size * sizeof(Glyph));
 | 
			
		||||
	memmove(&line[dst], &line[src], size * sizeof(Glyph));
 | 
			
		||||
	tclearregion(src, term.c.y, dst - 1, term.c.y);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue