Index: runtime/bin/stdin_linux.cc |
diff --git a/runtime/bin/stdin_linux.cc b/runtime/bin/stdin_linux.cc |
index 4f951987c9819ad3cf4bbd099bd0eb7de59affb4..c64610aed7283c00b59b4f3609b29f14312a20cd 100644 |
--- a/runtime/bin/stdin_linux.cc |
+++ b/runtime/bin/stdin_linux.cc |
@@ -25,6 +25,13 @@ int Stdin::ReadByte() { |
} |
+bool Stdin::GetEchoMode() { |
+ struct termios term; |
+ tcgetattr(fileno(stdin), &term); |
+ return (term.c_lflag & ECHO) != 0; |
+} |
+ |
+ |
void Stdin::SetEchoMode(bool enabled) { |
struct termios term; |
tcgetattr(fileno(stdin), &term); |
@@ -37,6 +44,13 @@ void Stdin::SetEchoMode(bool enabled) { |
} |
+bool Stdin::GetLineMode() { |
+ struct termios term; |
+ tcgetattr(fileno(stdin), &term); |
+ return (term.c_lflag & ICANON) != 0; |
+} |
+ |
+ |
void Stdin::SetLineMode(bool enabled) { |
struct termios term; |
tcgetattr(fileno(stdin), &term); |