Curses Problem

Dean Pentcheff dean at violet.berkeley.edu
Wed Dec 14 17:51:17 AEST 1988


In article <263 at madnix.UUCP> ray at madnix.UUCP (Ray P. Hill) writes:
>	Why does the following curses code sample produce a different output
>	on UNIX systems?
>	Some machines produce and map both windows while others map both
>	windows to the same location on the screen. Our VAX, Sun3, 386i, and
>	286 XENIX machines work correctly (2 windows), while 386 XENIX and
>	Pyramid (AT&T universe) work incorrectly (1 window).
>
> [ code including overwrite()... ]

A couple of weeks ago I spent some time testing overwrite()
extensively.  I checked it on BSD 4.3 running on a VAX, AT&T System
V/R2 (Microport SV/AT 2.2.1L) running on an AT clone, and MS-DOS (using
Bjorn Larsson's PCurses and the Turbo C 1.5 compiler).  I found that
overwrite() was broken (though with subtle differences) on both BSD and
System V.  It worked correctly only on PCurses.  I got a note from a
fellow at AT&T who said that they knew about the bug in earlier System
Vs, and the problem was completely corrected in the forthcoming System
V release (V4, is it?).

Anyway, I concluded that overwrite() (and probably overlay()) are too
commonly broken to allow portability.  This is a sucky answer, but:
your code is right, the library is bugged, and I think you should avoid
using overwrite().

-Dean

Dean Pentcheff        dean at violet.berkeley.edu
----------------------------------------------
As an adolescent I aspired to lasting fame, I craved factual certainty, and I
thirsted for a meaningful vision of human life - so I became a scientist.  This
is like becoming an archbishop so you can meet girls.               M. Cartmill



More information about the Comp.unix.wizards mailing list