fixed IL and DL.
This commit is contained in:
		
							
								
								
									
										30
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								st.c
									
									
									
									
									
								
							| @@ -392,8 +392,10 @@ ttyread(void) { | ||||
|  | ||||
| 	if((ret = read(cmdfd, buf, LEN(buf))) < 0) | ||||
| 		die("Couldn't read from shell: %s\n", SERRNO); | ||||
| 	else | ||||
| 	else { | ||||
| 		printf("ttyread %d\n", ret); | ||||
| 		tputs(buf, ret); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| void | ||||
| @@ -589,21 +591,16 @@ tinsertblankline(int n) { | ||||
| 	Line blank; | ||||
| 	int bot = term.bot; | ||||
|  | ||||
| 	if(term.c.y > term.bot) | ||||
| 		bot = term.row - 1; | ||||
| 	else if(term.c.y < term.top) | ||||
| 		bot = term.top - 1; | ||||
| 	if(term.c.y + n >= bot) { | ||||
| 		tclearregion(0, term.c.y, term.col-1, bot); | ||||
| 	if(term.c.y < term.top || term.c.y > term.bot) | ||||
| 		return; | ||||
| 	} | ||||
|  | ||||
| 	LIMIT(n, 0, bot-term.c.y+1); | ||||
| 	tclearregion(0, bot-n+1, term.col-1, bot); | ||||
| 	for(i = bot; i >= term.c.y+n; i--) { | ||||
| 		/* swap deleted line <-> blanked line */ | ||||
| 		blank = term.line[i]; | ||||
| 		term.line[i] = term.line[i-n]; | ||||
| 		term.line[i-n] = blank; | ||||
| 		/* blank it */ | ||||
| 		memset(blank, 0, term.col * sizeof(Glyph)); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -613,21 +610,16 @@ tdeleteline(int n) { | ||||
| 	Line blank; | ||||
| 	int bot = term.bot; | ||||
|  | ||||
| 	if(term.c.y > term.bot) | ||||
| 		bot = term.row - 1; | ||||
| 	else if(term.c.y < term.top) | ||||
| 		bot = term.top - 1; | ||||
| 	if(term.c.y + n >= bot) { | ||||
| 		tclearregion(0, term.c.y, term.col-1, bot); | ||||
| 	if(term.c.y < term.top || term.c.y > term.bot) | ||||
| 		return; | ||||
| 	} | ||||
|  | ||||
| 	LIMIT(n, 0, bot-term.c.y+1); | ||||
| 	tclearregion(0, term.c.y, term.col-1, term.c.y+n-1); | ||||
| 	for(i = term.c.y; i <= bot-n; i++) { | ||||
| 		/* swap deleted line <-> blanked line */ | ||||
| 		blank = term.line[i]; | ||||
| 		term.line[i] = term.line[i+n]; | ||||
| 		term.line[i+n] = blank; | ||||
| 		/* blank it */ | ||||
| 		memset(blank, 0, term.col * sizeof(Glyph)); | ||||
| 	} | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user