mirror of
https://github.com/MeexReay/bRAC.git
synced 2025-05-06 13:38:04 +03:00
remove zero skipping
This commit is contained in:
parent
8c442de4fa
commit
e548d85841
@ -334,7 +334,7 @@ pub fn recv_tick(ctx: Arc<Context>) -> Result<(), Box<dyn Error>> {
|
|||||||
ctx.messages.update(ctx.max_messages, messages.clone(), size);
|
ctx.messages.update(ctx.max_messages, messages.clone(), size);
|
||||||
print_console(ctx.clone(), messages, &ctx.input.read().unwrap())?;
|
print_console(ctx.clone(), messages, &ctx.input.read().unwrap())?;
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
let msg = format!("Read messages error: {}", e.to_string()).bright_red().to_string();
|
let msg = format!("Read messages error: {}", e.to_string()).bright_red().to_string();
|
||||||
ctx.messages.append(ctx.max_messages, vec![msg]);
|
ctx.messages.append(ctx.max_messages, vec![msg]);
|
||||||
@ -355,6 +355,12 @@ pub fn run_main_loop(ctx: Arc<Context>) {
|
|||||||
enable_raw_mode().unwrap();
|
enable_raw_mode().unwrap();
|
||||||
execute!(stdout(), event::EnableMouseCapture).unwrap();
|
execute!(stdout(), event::EnableMouseCapture).unwrap();
|
||||||
|
|
||||||
|
if let Err(e) = print_console(ctx.clone(), Vec::new(), &ctx.input.read().unwrap()) {
|
||||||
|
let msg = format!("Print messages error: {}", e.to_string()).bright_red().to_string();
|
||||||
|
ctx.messages.append(ctx.max_messages, vec![msg]);
|
||||||
|
let _ = print_console(ctx.clone(), ctx.messages.messages(), &ctx.input.read().unwrap());
|
||||||
|
}
|
||||||
|
|
||||||
thread::spawn({
|
thread::spawn({
|
||||||
let ctx = ctx.clone();
|
let ctx = ctx.clone();
|
||||||
|
|
||||||
|
36
src/proto.rs
36
src/proto.rs
@ -145,23 +145,9 @@ pub fn read_messages(
|
|||||||
stream.write_all(&[0x00])?;
|
stream.write_all(&[0x00])?;
|
||||||
|
|
||||||
let packet_size = {
|
let packet_size = {
|
||||||
let data = if start_null {
|
let mut data = vec![0; 10];
|
||||||
let mut data = skip_null(stream)?;
|
let len = stream.read(&mut data)?;
|
||||||
|
data.truncate(len);
|
||||||
let mut buf = vec![0; 10];
|
|
||||||
let len = stream.read(&mut buf)?;
|
|
||||||
buf.truncate(len);
|
|
||||||
|
|
||||||
remove_trailing_null(&mut buf);
|
|
||||||
data.append(&mut buf);
|
|
||||||
|
|
||||||
data
|
|
||||||
} else {
|
|
||||||
let mut data = vec![0; 10];
|
|
||||||
let len = stream.read(&mut data)?;
|
|
||||||
data.truncate(len);
|
|
||||||
data
|
|
||||||
};
|
|
||||||
|
|
||||||
String::from_utf8(data)?
|
String::from_utf8(data)?
|
||||||
.trim_matches(char::from(0))
|
.trim_matches(char::from(0))
|
||||||
@ -181,20 +167,8 @@ pub fn read_messages(
|
|||||||
};
|
};
|
||||||
|
|
||||||
let packet_data = {
|
let packet_data = {
|
||||||
let data = if start_null {
|
let mut data = vec![0; to_read];
|
||||||
let mut data = skip_null(stream)?;
|
stream.read_exact(&mut data)?;
|
||||||
while data.len() < to_read {
|
|
||||||
let mut buf = vec![0; to_read - data.len()];
|
|
||||||
let len = stream.read(&mut buf)?;
|
|
||||||
buf.truncate(len);
|
|
||||||
data.append(&mut buf);
|
|
||||||
}
|
|
||||||
data
|
|
||||||
} else {
|
|
||||||
let mut data = vec![0; to_read];
|
|
||||||
stream.read_exact(&mut data)?;
|
|
||||||
data
|
|
||||||
};
|
|
||||||
|
|
||||||
String::from_utf8_lossy(&data).to_string()
|
String::from_utf8_lossy(&data).to_string()
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user