Path: utzoo!attcan!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!decwrl!decvax!zinn!mem From: mem@zinn.MV.COM (Mark E. Mallett) Newsgroups: comp.unix.microport Subject: Re: Curses bug in V/AT 2.4 - what was i Message-ID: <566@zinn.MV.COM> Date: 21 Jun 89 05:59:46 GMT References: <353@osc.COM> <42700022@osiris.cso.uiuc.edu> Reply-To: mem@zinn.MV.COM (Mark E. Mallett) Organization: Zinn Computer Co., Litchfield NH Lines: 39 In article <42700022@osiris.cso.uiuc.edu> dpgerdes@osiris.cso.uiuc.edu writes: > >/* Written 5:19 pm Jun 13, 1989 by rp@osc.COM in osiris.cso.uiuc.edu:comp.unix.microport */ >>/* ---------- "Curses bug in V/AT 2.4 - what was i" ---------- */ >>Hi, >> I remember a couple of months ago that there is a bug in the >>curses support under System V/AT ver. 2.4. Does anybody remember what it >>was ?? Also, if anybody has a fix for it that would be appreciated. Please >>either post or e-mail directly to me. >> Perhaps the message you refer to was a report of a bug in tgetstr(). I thought I had saved the original message, but I can't find it, so I can't say who it was that posted it. This bug must be compensated for to get running any program that uses it, including (for instance) JOVE. tgetstr()'s second argument is supposed to be the address of a pointer to a buffer. The bug is that it is implemented as if it is the actual pointer. For example, here's the workaround in JOVE's term.c module: ===== for (i = 0; meas[i]; i++) { #ifdef UPORT_CURSES_BUG *(meas[i]) = (char *) tgetstr(ts, termp); #else *(meas[i]) = (char *) tgetstr(ts, &termp); #endif ts += 2; ===== -mm- -- Mark E. Mallett Zinn Computer Co/ PO Box 4188/ Manchester NH/ 03103 Bus. Phone: 603 645 5069 Home: 603 424 8129 BIX: mmallett uucp: mem@zinn.MV.COM ( ...{decvax|elrond|harvard}!zinn!mem ) Northern MA and Southern NH consultants: Ask (in mail!) about MV.COM