denise@mcvax.UUCP (03/26/87)
Index: /usr/src/usr.lib/libcurses/overlay.c 4.3BSD Description: The function overlay actually overwrites. This is so glaring a bug I have a hard time believing that it is not some local oddity that we have, but everyone seems to think it is real, unmodified, Berkeley code. On the other hand, Ultra Rogue and Larn are the only things I can find that actually use it, the larn distribution includes its own overlay. Repeat-By: Play urogue and read a scroll of gold detection. Fix: Apply the following diff: *** overlay.c.old Thu Mar 26 14:01:07 1987 --- overlay.c Thu Mar 26 14:34:15 1987 *************** *** 6,11 **** --- 6,12 ---- #ifndef lint static char sccsid[] = "@(#)overlay.c 5.2 (Berkeley) 2/12/86"; + static char sccsid2[] = "@(#)overlay.c 1.2 (CWI Mods) 87/03/26"; #endif not lint # include "curses.ext" *************** *** 37,48 **** # endif if (starty >= endy || startx >= endx) return; - x = endx - startx; - for (y = starty; y < endy; y++) { - bcopy(&win1->_y[y - win1->_begy][startx - win1->_begx], - &win2->_y[y - win2->_begy][startx - win2->_begx], x); - touchline(win2, y, startx - win2->_begx, endx - win2->_begx); - } y1 = starty - win1->_begy; y2 = starty - win2->_begy; for (y = starty; y < endy; y++, y1++, y2++) { --- 38,43 ---- denise denise@cwi.nl