Date: Mon, 19 Jun 2000 10:20:40 -0500 (CDT) From: ler@lerctr.org To: FreeBSD-gnats-submit@freebsd.org Subject: misc/19376: Curses bug Message-ID: <200006191520.KAA89400@lerbsd.lerctr.org>
next in thread | raw e-mail | index | archive | help
>Number: 19376 >Category: misc >Synopsis: ncurses alters buffering of stdin/stdout and does not restore it. >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Jun 19 08:30:01 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Frank da Cruz & Larry Rosenman >Release: FreeBSD 4.0-STABLE i386 >Organization: The Kermit Project Columbia University >Environment: C-Kermit 7.0 was released prior to FreeBSD 4.0, and it worked fine on all FreeBSDs, 2.2.7 through 3.3. Then when FreeBSD 4.0 came out, a problem appeared. When C-Kermit makes a connection (serial, telnet, anything else) and then transfers a file, it puts up a curses-based file-transfer progress display, using the normal APIs to initialize curses and then "end the window" when the display is finished, returning to normal prompt-and-command operation. When accepting commands at its prompt, C-Kermit must read a character at a time, since it controls echoing, and acts immediately on certain characters such as Tab, Esc, question mark, etc, and so puts the terminal in CBREAK mode. In FreeBSD 4.0, upon exit from curses, C-Kermit is no longer able to read a character at a time; it is not given any characters until the user types a carriage return. This causes characters not to echo and it prevents Kermit's keyword and filename completion, menu-on-demand, and command editing features from working after a file transfer. Of course after returning from curses, C-Kermit makes the appropriate calls to put the console back in CBREAK mode, but these don't work in FreeBSD 4.x. The only workaround is for C-Kermit to call setbuf(stdout,NULL). The problem was reported to Joerg Wunsch shortly after FreeBSD 4.0 came out, but it's still in 4.1. C-Kermit 7.0 is here: http://www.columbia.edu/kermit/ckermit.html >Description: sw-bug >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200006191520.KAA89400>