summaryrefslogtreecommitdiff
path: root/src/client/construction.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/construction.rs')
-rw-r--r--src/client/construction.rs17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/client/construction.rs b/src/client/construction.rs
index 28a91be..b555601 100644
--- a/src/client/construction.rs
+++ b/src/client/construction.rs
@@ -13,7 +13,7 @@ use crate::modules::construction;
pub fn client_construction(mut stream: TcpStream, mut buff_r: BufReader<TcpStream>) {
let stdout = stdout();
let mut stdout = stdout.lock().into_raw_mode().unwrap();
- let mut stdin = async_stdin().bytes();
+ let mut stdin = async_stdin();
loop {
let mut recv = String::new();
@@ -41,16 +41,13 @@ pub fn client_construction(mut stream: TcpStream, mut buff_r: BufReader<TcpStrea
.unwrap();
}
- if let Some(c) = stdin.next() {
- let c = c.unwrap();
- let mut send = String::new();
- send.push(c as char);
- if send.as_bytes() == b"q" {
- break;
- }
- send.push_str("\n");
- stream.write_all(send.as_bytes()).unwrap();
+ let mut key = String::new();
+ stdin.read_to_string(&mut key).unwrap();
+ if key.as_str() == "q" {
+ break;
}
+ key.push_str("\n");
+ stream.write_all(key.as_bytes()).unwrap();
stdout.flush().unwrap();
}