From 6f540b8688f4bc92547ec5dd73e7e0f2ae1d6cef Mon Sep 17 00:00:00 2001 From: William McBrine Date: Tue, 10 Jul 2007 17:31:29 +0000 Subject: [PATCH] Simplified. --- pdcurses/refresh.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/pdcurses/refresh.c b/pdcurses/refresh.c index 6f576b1d..e34991eb 100644 --- a/pdcurses/refresh.c +++ b/pdcurses/refresh.c @@ -13,7 +13,7 @@ #include -RCSID("$Id: refresh.c,v 1.52 2007/07/10 16:13:09 wmcbrine Exp $") +RCSID("$Id: refresh.c,v 1.53 2007/07/10 17:31:29 wmcbrine Exp $") /*man-start************************************************************** @@ -176,21 +176,8 @@ int doupdate(void) { first = curscr->_firstch[y]; last = curscr->_lastch[y]; - - /* ignore areas on the outside that are - marked as changed, but really aren't */ - - while (first <= last && - src[first] == dest[first]) - first++; - - while (last >= first && - src[last] == dest[last]) - last--; } - /* if any have really changed... */ - while (first <= last) { int len = 0; @@ -199,13 +186,16 @@ int doupdate(void) src[first + len] != dest[first + len])) len++; - PDC_transform_line(y, first, len, - src + first); + if (len) + { + PDC_transform_line(y, first, len, + src + first); - memcpy(dest + first, src + first, - len * sizeof(chtype)); + memcpy(dest + first, src + first, + len * sizeof(chtype)); - first += len; + first += len; + } while (first <= last && src[first] == dest[first])