Remove tobin from master until finished
This commit is contained in:
parent
91c6b83c34
commit
42f2d4fcbc
20
src/main.rs
20
src/main.rs
|
@ -6,17 +6,12 @@ mod colormap;
|
|||
|
||||
mod tohex;
|
||||
use tohex::hexdump;
|
||||
mod tobin;
|
||||
use tobin::bindump;
|
||||
|
||||
use clap::Parser;
|
||||
|
||||
#[derive(Parser)]
|
||||
#[command(version, about = "A simple hexdump tool")]
|
||||
struct Arguments {
|
||||
/// Revert a hexdump to binary
|
||||
#[arg(short, long)]
|
||||
revert: bool,
|
||||
/// Stop after <len> octets
|
||||
#[arg(short, long)]
|
||||
length: Option<usize>,
|
||||
|
@ -35,15 +30,10 @@ fn main() {
|
|||
Box::new(File::open(filename).expect("Could not open file."))
|
||||
};
|
||||
|
||||
if !args.revert {
|
||||
let length = if args.length.is_some() {
|
||||
args.length.unwrap()
|
||||
} else {
|
||||
MAX
|
||||
};
|
||||
hexdump(reader, length);
|
||||
let length = if args.length.is_some() {
|
||||
args.length.unwrap()
|
||||
} else {
|
||||
let writer: Box<dyn io::Write> = Box::new(io::stdout());
|
||||
bindump(reader, writer);
|
||||
}
|
||||
MAX
|
||||
};
|
||||
hexdump(reader, length);
|
||||
}
|
||||
|
|
23
src/tobin.rs
23
src/tobin.rs
|
@ -1,23 +0,0 @@
|
|||
use std::{io, str::Lines};
|
||||
|
||||
fn parse_lines(lines: Lines) {
|
||||
for line in lines {
|
||||
let address_delimeter = line.find(": ").unwrap();
|
||||
let printable_delimeter = line.find(" ").unwrap();
|
||||
|
||||
let bytes = line.as_bytes();
|
||||
let hexdata = &bytes[(address_delimeter+2)..printable_delimeter];
|
||||
}
|
||||
}
|
||||
|
||||
pub fn bindump(mut reader: Box<dyn io::Read>, mut writer: Box<dyn io::Write>) {
|
||||
let mut buffer = String::new();
|
||||
match reader.read_to_string(&mut buffer) {
|
||||
Ok(_) => {
|
||||
parse_lines(buffer.lines());
|
||||
}
|
||||
Err(e) => {
|
||||
eprintln!("revert: {}", e);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue