From dfb88ca6bebf038ad77b952dbccfadbd29a4e3ce Mon Sep 17 00:00:00 2001 From: deuce <> Date: Tue, 17 Aug 2004 22:01:33 +0000 Subject: [PATCH] Use puttext() for clreol() rather than cprintf() --- src/conio/ciolib.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/conio/ciolib.c b/src/conio/ciolib.c index 064b684f80..5f14911af6 100644 --- a/src/conio/ciolib.c +++ b/src/conio/ciolib.c @@ -435,7 +435,8 @@ void ciolib_wscroll(void) ciolib_gotoxy(1,ti.winbottom-ti.winleft+1); os=_wscroll; _wscroll=0; - ciolib_cprintf("%*s",ti.winright-ti.winleft+1,""); + /* ciolib_cprintf("%*s",ti.winright-ti.winleft+1,""); */ + ciolib_clreol(); _wscroll=os; ciolib_gotoxy(ti.curx,ti.cury); } @@ -527,17 +528,24 @@ void ciolib_window(int sx, int sy, int ex, int ey) void ciolib_clreol(void) { - int os; - struct text_info ti; + unsigned char *buf; + int i; + int width,height; + struct text_info ti; CIOLIB_INIT(); ciolib_gettextinfo(&ti); - os=_wscroll; - _wscroll=0; - ciolib_cprintf("%*s",ti.winright-ti.curx+1,""); - _wscroll=os; - ciolib_gotoxy(ti.curx,ti.cury); + + width=ti.winright-ti.curx+1; + height=1; + buf=(unsigned char *)malloc(width*height*2); + for(i=0;i<width*height*2;) { + buf[i++]=' '; + buf[i++]=ti.attribute; + } + ciolib_puttext(ti.curx+ti.winleft-1,ti.cury+ti.wintop-1,ti.winright,ti.cury+ti.wintop-1,buf); + free(buf); } void ciolib_clrscr(void) -- GitLab