Mail Archives: djgpp/1994/10/23/16:48:32
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);
}
}
- Raw text -