summaryrefslogtreecommitdiffstats
path: root/st.c
diff options
context:
space:
mode:
Diffstat (limited to 'st.c')
-rw-r--r--st.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/st.c b/st.c
index fb37eb5..79bf1c8 100644
--- a/st.c
+++ b/st.c
@@ -2779,17 +2779,16 @@ tresize(int col, int row) {
2779 return; 2779 return;
2780 } 2780 }
2781 2781
2782 /* free unneeded rows */ 2782 /*
2783 * slide screen to keep cursor where we expect it -
2784 * tscrollup would work here, but we can optimize to
2785 * memmove because we're freeing the earlier lines
2786 */
2783 for(i = 0; i < slide; i++) { 2787 for(i = 0; i < slide; i++) {
2784 free(term.line[i]); 2788 free(term.line[i]);
2785 free(term.alt[i]); 2789 free(term.alt[i]);
2786 } 2790 }
2787 if(slide > 0) { 2791 if(slide > 0) {
2788 /*
2789 * slide screen to keep cursor where we expect it -
2790 * tscrollup would work here, but we can optimize to
2791 * memmove because we're freeing the earlier lines
2792 */
2793 memmove(term.line, term.line + slide, row * sizeof(Line)); 2792 memmove(term.line, term.line + slide, row * sizeof(Line));
2794 memmove(term.alt, term.alt + slide, row * sizeof(Line)); 2793 memmove(term.alt, term.alt + slide, row * sizeof(Line));
2795 } 2794 }