mirror of
https://github.com/MeexReay/sRAC.git
synced 2025-09-16 15:14:26 +03:00
move read_u32 and read_string lambdas back to where they must to be
This commit is contained in:
parent
ae9fb60eab
commit
d3bb035fda
15
src/ctx.rs
15
src/ctx.rs
@ -18,7 +18,7 @@ use rand::{Rng, distr::Alphanumeric};
|
||||
|
||||
use crate::{
|
||||
Args,
|
||||
util::{format_message, sanitize_text},
|
||||
util::{format_message, read_string, read_u32, sanitize_text},
|
||||
};
|
||||
|
||||
fn load_accounts(accounts_file: Option<String>) -> Vec<Account> {
|
||||
@ -215,23 +215,10 @@ impl Account {
|
||||
pub fn from_bytes(text: Vec<u8>) -> Result<Self, Box<dyn Error>> {
|
||||
let mut cursor = Cursor::new(text);
|
||||
|
||||
let read_u32 = |cursor: &mut Cursor<Vec<u8>>| -> Result<u32, Box<dyn Error>> {
|
||||
let mut buf = [0; 4];
|
||||
cursor.read_exact(&mut buf)?;
|
||||
Ok(u32::from_le_bytes(buf))
|
||||
};
|
||||
|
||||
let name_len = read_u32(&mut cursor)? as usize;
|
||||
let salt_len = read_u32(&mut cursor)? as usize;
|
||||
let addr_len = read_u32(&mut cursor)? as usize;
|
||||
let pass_len = read_u32(&mut cursor)? as usize;
|
||||
|
||||
let read_string = |cursor: &mut Cursor<Vec<u8>>, len: usize| -> Result<String, Box<dyn Error>> {
|
||||
let mut buf = vec![0; len];
|
||||
cursor.read_exact(&mut buf)?;
|
||||
String::from_utf8(buf).map_err(|e| e.into())
|
||||
};
|
||||
|
||||
let name = read_string(&mut cursor, name_len)?;
|
||||
let salt = read_string(&mut cursor, salt_len)?;
|
||||
let addr = read_string(&mut cursor, addr_len)?;
|
||||
|
20
src/util.rs
20
src/util.rs
@ -1,3 +1,5 @@
|
||||
use std::{error::Error, io::Read};
|
||||
|
||||
use colored::{Color, Colorize};
|
||||
use lazy_static::lazy_static;
|
||||
use regex::Regex;
|
||||
@ -94,3 +96,21 @@ pub fn find_username_color(message: &str) -> Option<(String, String, Color)> {
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
pub fn read_u32<R>(cursor: &mut R) -> Result<u32, Box<dyn Error>>
|
||||
where
|
||||
R: Read,
|
||||
{
|
||||
let mut buf = [0; 4];
|
||||
cursor.read_exact(&mut buf)?;
|
||||
Ok(u32::from_le_bytes(buf))
|
||||
}
|
||||
|
||||
pub fn read_string<R>(cursor: &mut R, len: usize) -> Result<String, Box<dyn Error>>
|
||||
where
|
||||
R: Read,
|
||||
{
|
||||
let mut buf = vec![0; len];
|
||||
cursor.read_exact(&mut buf)?;
|
||||
String::from_utf8(buf).map_err(|e| e.into())
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user