NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

lib/53642: noecho(3) in curses(3) does not disable echoing



>Number:         53642
>Category:       lib
>Synopsis:       noecho(3) in curses(3) does not disable echoing
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Sep 29 14:40:00 +0000 2018
>Originator:     Kamil Rytarowski
>Release:        NetBSD 8.99.24 amd64
>Organization:
TNF
>Environment:
NetBSD rugged 8.99.24 NetBSD 8.99.24 (GENERIC) #8: Fri Aug 31 21:55:37 CEST 2018  root@chieftec:/public/netbsd-root/sys/arch/amd64/compile/GENERIC amd64
>Description:
noecho(3) shall disable echoing and any printing shall be done by application.

"If not in Echo mode, any echoing of input must be performed by the application. Applications often perform their own echoing in a controlled area of the screen, or do not echo at all, so they disable Echo mode. "

http://pubs.opengroup.org/onlinepubs/007908799/xcurses/intov.html#tag_001_005

In the NetBSD version of noecho(3) there is still performed echoing of user entered input onto the screen.

A work around to disable echoing bytes is to combine noecho(3) with cbreak(3).
>How-To-Repeat:
#include <curses.h>

int
main(int argc, char **argv)
{

	initscr();
	noecho();
	while (getch() != '~')
		continue;
	endwin();

	return 0;
}

// gcc v.c -lncurses -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -I/usr/pkg/include -I/usr/pkg/include/ncurses
// gcc v.c -lcurses

// Entered characters are echoed to the screen regardless of the noecho() call.
>Fix:
N/A



Home | Main Index | Thread Index | Old Index