diff options
Diffstat (limited to '')
-rw-r--r-- | third_party/rust/termion/examples/read.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/third_party/rust/termion/examples/read.rs b/third_party/rust/termion/examples/read.rs new file mode 100644 index 0000000000..8d53e1bf72 --- /dev/null +++ b/third_party/rust/termion/examples/read.rs @@ -0,0 +1,23 @@ +extern crate termion; + +use termion::input::TermRead; +use std::io::{Write, stdout, stdin}; + +fn main() { + let stdout = stdout(); + let mut stdout = stdout.lock(); + let stdin = stdin(); + let mut stdin = stdin.lock(); + + stdout.write_all(b"password: ").unwrap(); + stdout.flush().unwrap(); + + let pass = stdin.read_passwd(&mut stdout); + + if let Ok(Some(pass)) = pass { + stdout.write_all(pass.as_bytes()).unwrap(); + stdout.write_all(b"\n").unwrap(); + } else { + stdout.write_all(b"Error\n").unwrap(); + } +} |