FakeSFTP/src/packet/data/realpath.rs

22 lines
622 B
Rust

use std::io::Read;
pub struct RealpathData {
pub id: u32,
pub path: String,
}
impl RealpathData {
pub fn deserialize(mut u8_array_data: &[u8]) -> RealpathData {
if u8_array_data.len() < 5 {
panic!("Realpath data is expected to be bigger.");
}
let mut id: [u8; 4] = [0; 4];
u8_array_data
.read(&mut id)
.expect("Failed to read id from realpath packet.");
let id = u32::from_be_bytes(id);
let path = crate::packet::types::string::String::deserialize(u8_array_data).content;
RealpathData { id: id, path: path }
}
}