apl logo

A.P. Lawrence

Information and Resources for Unix and Linux Systems
Bloggers and the self-employed
RSS Feeds Get APLawrence.com by RSS




Printer Friendly Version


(OLDER) <- More Stuff -> (NEWER)


Our Latest Posts: -  Passive Income Smooths the Flow  -  Hitting the Google Sweet Spot  -  Vista Boomers - Microsoft's Power Failure  -  Book Review: Programming in Objective-C 2.0 (Second Edition)

Translators wanted!


Best of the Newsgroups: porting sco ncurses to linux


What is this stuff?

Main Index

Message-ID: <48d55656$0$26372$e4f62565@news.jtan.com> 
From: dic...@invisible-island.net (Thomas E. Dickey)
Subject: Re: ncurese nodelay problem
References: <1be98a3b-51e8-4d4a-b50c-8a167b834d69@a70g2000hsh.googlegroups.com> <b8d7a14b-a2a5-498a-a4e9-528c79031763@73g2000hsx.googlegroups.com> <48c53b0b$0$31966$e4f62565@news.jtan.com> <48C57875.1050604@gmail.com> <48c58a11$0$31951$e4f62565@news.jtan.com> <64c24041-720e-4874-9383-93b50708136c@d45g2000hsc.googlegroups.com> <035465ea-306d-4d2f-9bdb-e8b4fd79f5ee@m3g2000hsc.googlegroups.com> 
Date: 20 Sep 2008 20:00:22 GMT

FurtiveBertie <Furtive_ber...@hotmail.com> wrote:
> On 17 Sep, 10:14, FurtiveBertie <Furtive_ber...@hotmail.com> wrote:
>> On 8 Sep, 21:24, dic...@invisible-island.net (Thomas E. Dickey) wrote:
>> > Nico Kadel-Garcia <nka...@gmail.com> wrote:
>> > >>> The SCO code is fascinating old stuff, on SCO OpenServer 5.0.6, built
>> > >>> with a manually compiled gcc-2.7.2 and the SCO Skunkware version of
>> > >>> ncurses-4.2.
>>
>> > >> ncurses 4.2 is 10 years old (I'm confused about the comment about 15 years).
...
>> I have narrowed this down, and got an idea of what is going wrong :-)

thanks.  I ran your test-program on Solaris 10 and IRIX64, found that it
behaves as you expect.

Back to ncurses - the problem is older than ncurses 4.2, apparently from
the original implementation of the feature in ncurses 1.9.2d in June
1995.

(It's been a while since I ran into one from the pre-1.9.9e era ;-)

The change:

diff -u -r1.98 base/lib_getch.c
--- base/lib_getch.c    2008/08/16 21:20:48     1.98
+++ base/lib_getch.c    2008/09/20 19:46:13
@@ -381,7 +381,7 @@
 
     recur_wrefresh(win);
 
-    if (!win->_notimeout && (win->_delay >= 0 || sp->_cbreak > 1)) {
+    if (win->_notimeout || (win->_delay >= 0) || (sp->_cbreak > 1)) {
        if (head == -1) {       /* fifo is empty */
            int delay;
            int rc;

That "!win->_notimeout" is the same in 1995, and is the only place that
the value is checked (or should be checked).  I'm puzzled by your reference
to ncurses 4.2, since the bug in (the original) version of that as well
(and I was unaware of any patched version).

-- 
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net

Comments /Bofcusm/2666.html


Add your comments