From 27243ee44992ba436e8ad54825778d7a2ddab74c Mon Sep 17 00:00:00 2001 From: jpk Date: Fri, 6 Jan 2023 18:38:05 +0100 Subject: [PATCH] Source file commited --- src/tobin.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/tobin.rs diff --git a/src/tobin.rs b/src/tobin.rs new file mode 100644 index 0000000..06e989f --- /dev/null +++ b/src/tobin.rs @@ -0,0 +1,25 @@ +use std::io::{self, BufRead, stdout, Write}; + +fn dump_to_bin(line: String) { + let words: Vec<&str> = line.split(" ").collect(); + + if words.len() == 2 { + let iter = words[0].split_whitespace(); + let data: Vec<&str> = iter.skip(1).collect(); + let hex: String = data.join(""); + + let bytes = hex::decode(hex).unwrap(); + let u8_values: Vec = bytes.iter().map(|b| *b).collect(); + stdout().write_all(&u8_values).expect("Failed to write to stdout"); + } + +} + +pub fn revert_hexdump(reader: Box) { + for buf in reader.lines() { + match buf { + Ok(line) => { dump_to_bin(line) } + Err(_) => { eprintln!("Cannot read input file") } + } + } +}