diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-03-19 22:13:08 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-03-19 22:13:08 -0500 |
commit | 65c1594991f029ed30669885a9716c1f282be6b6 (patch) | |
tree | 5b61b67bd0997ec0c9af407a8d1052f3c129db9c /src | |
parent | 143f5e479230b68fec59eea1a5a0e600856519ac (diff) | |
download | rust-term-65c1594991f029ed30669885a9716c1f282be6b6.tar.gz rust-term-65c1594991f029ed30669885a9716c1f282be6b6.zip |
implement echo
Diffstat (limited to 'src')
-rw-r--r-- | src/termios_wrapper.c | 14 |
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) |