From owner-freebsd-bugs Tue Jul 11 12:10:11 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 2CF4D37B6FD for ; Tue, 11 Jul 2000 12:10:08 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id MAA70888; Tue, 11 Jul 2000 12:10:08 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Date: Tue, 11 Jul 2000 12:10:08 -0700 (PDT) Message-Id: <200007111910.MAA70888@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: "Larry Rosenman" Subject: Re: misc/19376: ncurses alters buffering of stdin/stdout and does not restore it. Reply-To: "Larry Rosenman" Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The following reply was made to PR misc/19376; it has been noted by GNATS. From: "Larry Rosenman" To: , , "Lawrence Rosenman" Cc: Subject: Re: misc/19376: ncurses alters buffering of stdin/stdout and does not restore it. Date: Tue, 11 Jul 2000 14:00:53 -0500 > I rebuilt my LERBSD box with the current (7/1) ncurses. > Please retry C-Kermit... > It's half fixed. After starting and then stopping curses, input is no longer buffered but output is still buffered. The current working sources are in /home/fdc/kermit. To build a version without the 4.0-specific setbuf hack, use: make clean make freebsd41 (I left a new "wermit" binary there too.) On the Internet, the same source package can be found at: ftp://kermit.columbia.edu/kermit/test/tar/x.tar.gz Then to test: ./wermit C-Kermit> telnet localhost (log in, start Kermit, put it in server mode, escape back) C-Kermit> send This puts up the curses display. When the transfer is done, you get the C-Kermit> prompt back. At this point, when you type a regular character (such as letter) it does not echo. However, if you type a "wakeup" character such as "?", you get the expected response, which shows that input is unbuffered. If you type a command like "echo foo", the command itself doesn't echo until you press the Return key. So in the latest ncurses, endwin() has restored the previous buffering on stdin, but not on stdout. No other version of Unix, including the other *BSD's, or even pre-4.0 versions of FreeBSD, behave this way. Or at least *behaved* this way as of about New Years Day. If the same ncurses code is finding its way into new Linuxes, etc, then maybe they have the same problem but I haven't seen it yet, since I haven't done a "build-all" since New Years (it takes about a week to hit every platform). If you could post this as a followup to: http://www.freebsd.org/cgi/query-pr.cgi?pr=19376 I'd appreciate it -- for some reason my browser won't let me do it. (Also, please include the details of your installation & ncurses version, etc.) Thanks! - Frank ** This is with a CVSUP as of yesterday (7/10/2000 around 20:00 GMT-0500 (US/Central)) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message