From friesen@psivax.UUCP (Stanley Friesen) Fri Jan 18 13:17:31 1985 Relay-Version: version B 2.10.2 12/21/84; site seismo.UUCP Posting-Version: version B 2.10.2 9/18/84; site psivax.UUCP Path: seismo!hao!hplabs!sdcrdcf!psivax!friesen From: friesen@psivax.UUCP (Stanley Friesen) Newsgroups: net.sources.bugs Subject: Re: Terminfo bug and fix Message-ID: <253@psivax.UUCP> Date: 18 Jan 85 18:17:31 GMT Date-Received: 20 Jan 85 12:55:13 GMT References: <252@psivax.UUCP> Reply-To: friesen@psivax.UUCP (Stanley friesen) Organization: Pacesetter Systems Inc., Sylmar, CA Lines: 37 Summary: BUG: The routine wclrtobot() as distributed does nothing at all. To Demonstrate: Run the test program(mille) thru one hand, when asks "Another Hand? " answer 'y'. The mileage portion of the screen will *not* clear as it should, but the game will continue as if it had. The reason for this is that wclrtobot() fails to set the _numchngd field for each line cleared. FIX: follows ----------------------------CUT HERE--------------------------------- *** olib_clrbot.c Thu Jan 17 14:15:20 1985 --- lib_clrbot.c Fri Jan 18 09:52:27 1985 *************** *** 76,81 if (minx != _NOCHANGE) { if (win->_firstchar[y] > minx || win->_firstchar[y] == _NOCHANGE) win->_firstchar[y] = minx; --- 76,82 ----- if (minx != _NOCHANGE) { + win->_numchngd[y] = (maxx - win->_line[y]) - minx; if (win->_firstchar[y] > minx || win->_firstchar[y] == _NOCHANGE) win->_firstchar[y] = minx; -- -- Sarima (Stanley Friesen) {trwrb|allegra|burdvax|cbosgd|hplabs|ihnp4|sdcsvax}!sdcrdcf!psivax!friesen From urban@spp2.UUCP Wed Jan 9 18:44:25 1985 Relay-Version: version B 2.10.2 12/21/84; site seismo.UUCP Posting-Version: version B 2.10.2 9/5/84; site spp2.UUCP Path: seismo!hao!hplabs!sdcrdcf!trwrb!trwspp!spp2!urban From: urban@spp2.UUCP Newsgroups: net.sources.bugs Subject: Public Domain Terminfo Stuff Message-ID: <352@spp2.UUCP> Date: 9 Jan 85 23:44:25 GMT Date-Received: 12 Jan 85 02:48:16 GMT Reply-To: urban@spp2.UUCP (Mike Urban) Organization: TRW, Redondo Beach CA Lines: 31 Attempting to port the public domain curses/terminfo stuff to the Pyramid 90x, I encountered the following problems: The sense of the comparison in read_entry for if (must_swap()) read(fd, ptr->Numbers, min(NUMCOUNT, header.num_count*2)); etc. appears to be backwards. This is a real bug that should be fixed in everyone's copy, since it will speed up the read_entry routine on machines that don't swap. In the same routine, the Pyramid C compiler seems to allocate 4-byte entries for the offset_buf array. I changed the declaration to an array of "short"s and used the "swap" definition in the relevant loop instead, which simplifies the appearance of the code anyway. The routines in lib_printw that attempt to pass a variable number of arguments have to be modified for the Pyramid so as to use the facilities in Now "mille" seems to be able to function almost right, but something still seems to be wrong somewhere. The cursor is being left in the wrong place after the first ">>>Move:" prompt is initially drawn and after a screen refresh. The result is that the command that first gets typed somehow stays on the screen in that wrong place (about two spaces to the right of where it should have been). Can anyone enlighten me? Mike