Date: Sun, 23 Oct 94 19:51:00 +0100 From: buers AT dg1 DOT chemie DOT uni-konstanz DOT de (Dieter Buerssner) To: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Bug in insline() and patch insline (source in libsrc/pc/src/gppconoi.c) does not work correctly. The bug can be seen by writing a screen full (i.e. with cputs), use a goto(1,1) then insline() and writing again one line. This sequence should scroll a text one line up (and it does so with Borland C). The following patch also deletes a not used variable. Dieter *** gppconio.oc Sun May 1 19:55:54 1994 --- gppconio.c Sun Oct 16 03:14:56 1994 *************** *** 423,427 **** { int row, col, left, right, nbytes, bot, fill; - short line[txinfo.winright - txinfo.winleft + 1]; ScreenGetCursor(&row, &col); left = txinfo.winleft - 1; --- 423,426 ---- *************** *** 430,434 **** bot = txinfo.winbottom-1; fill = ' ' | (ScreenAttrib << 8); ! while(bot > row+1) { movedata(_go32_conventional_mem_selector(), VIDADDR(bot-1, left), --- 429,433 ---- bot = txinfo.winbottom-1; fill = ' ' | (ScreenAttrib << 8); ! while(bot > row) { movedata(_go32_conventional_mem_selector(), VIDADDR(bot-1, left), *************** *** 437,443 **** bot--; } ! if (row < txinfo.winbottom -1) { ! fillrow(row+1,left,right,fill); } } --- 436,442 ---- bot--; } ! if (row < txinfo.winbottom) { ! fillrow(row,left,right,fill); } }