aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/termios_wrapper.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/termios_wrapper.c b/src/termios_wrapper.c
index 6e2afe4..6a752e8 100644
--- a/src/termios_wrapper.c
+++ b/src/termios_wrapper.c
@@ -14,6 +14,20 @@ int raw()
int echo(int enabled)
{
+ struct termios t;
+
+ if (tcgetattr(0, &t) == -1) {
+ return 0;
+ }
+
+ if (enabled) {
+ t.c_lflag |= ECHO;
+ }
+ else {
+ t.c_lflag &= ~ECHO;
+ }
+
+ return tcsetattr(0, TCSANOW, &t) == 0;
}
int crlf(int enabled)