| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1060,12 +1060,25 @@ tresize(int col, int row) { | 
															
														
														
													
														
															
																 | 
																 | 
																	int i; | 
																 | 
																 | 
																	int i; | 
															
														
														
													
														
															
																 | 
																 | 
																	int minrow = MIN(row, term.row); | 
																 | 
																 | 
																	int minrow = MIN(row, term.row); | 
															
														
														
													
														
															
																 | 
																 | 
																	int mincol = MIN(col, term.col); | 
																 | 
																 | 
																	int mincol = MIN(col, term.col); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	int slide = term.c.y - row + 1; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	if(col < 1 || row < 1) | 
																 | 
																 | 
																	if(col < 1 || row < 1) | 
															
														
														
													
														
															
																 | 
																 | 
																		return; | 
																 | 
																 | 
																		return; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	/* free uneeded rows */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	for(i = row; i < term.row; i++) { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	/* free unneeded rows */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	i = 0; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	if(slide > 0) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		/* slide screen to keep cursor where we expect it - | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		 * tscrollup would work here, but we can optimize to | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		 * memmove because we're freeing the earlier lines */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		for(/* i = 0 */; i < slide; i++) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			free(term.line[i]); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			free(term.alt[i]); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		memmove(term.line, term.line + slide, row * sizeof(Line)); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		memmove(term.alt, term.alt + slide, row * sizeof(Line)); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	for(i += row; i < term.row; i++) { | 
															
														
														
													
														
															
																 | 
																 | 
																		free(term.line[i]); | 
																 | 
																 | 
																		free(term.line[i]); | 
															
														
														
													
														
															
																 | 
																 | 
																		free(term.alt[i]); | 
																 | 
																 | 
																		free(term.alt[i]); | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |