diff options
Diffstat (limited to 'src/client/construction.rs')
-rw-r--r-- | src/client/construction.rs | 17 |
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(); } |