From 08a0c5e661c6ca70b3a45a18d52223d8418c46ef Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Wed, 21 Nov 2007 14:30:15 +0000 Subject: Use screen_* versions to avoid range checks (s->dy may be wrong), fix miscalculated free. --- screen.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'screen.c') diff --git a/screen.c b/screen.c index 34051da0..7caebabb 100644 --- a/screen.c +++ b/screen.c @@ -1,4 +1,4 @@ -/* $Id: screen.c,v 1.28 2007-11-21 13:11:41 nicm Exp $ */ +/* $Id: screen.c,v 1.29 2007-11-21 14:30:15 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -160,8 +160,8 @@ screen_resize(struct screen *s, u_int sx, u_int sy) if (my > ny) my = ny; - screen_display_free_lines(s, 0, my); - screen_display_move_lines(s, 0, my, oy - my); + screen_free_lines(s, s->hsize, my); + screen_move_lines(s, s->hsize, my, oy - my); s->cy -= my; oy -= my; @@ -172,7 +172,7 @@ screen_resize(struct screen *s, u_int sx, u_int sy) /* * Remove any remaining lines from the bottom. */ - screen_display_free_lines(s, oy, ny); + screen_free_lines(s, s->hsize + oy - ny, ny); if (s->cy >= sy) s->cy = sy - 1; } @@ -187,7 +187,7 @@ screen_resize(struct screen *s, u_int sx, u_int sy) /* Size increasing. */ if (sy > oy) - screen_display_make_lines(s, oy, sy - oy); + screen_make_lines(s, s->hsize + oy, sy - oy); s->rupper = 0; s->rlower = s->dy - 1; -- cgit