From b0ff49fdd4ae82af5cf89180078ea7314072c29f Mon Sep 17 00:00:00 2001 From: cc Date: Wed, 20 Aug 2025 18:59:47 -0700 Subject: Add binary file output function --- src/binfile.rs | 14 ++++++++++++++ src/lib.rs | 11 ++++------- 2 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 src/binfile.rs diff --git a/src/binfile.rs b/src/binfile.rs new file mode 100644 index 0000000..9b50a70 --- /dev/null +++ b/src/binfile.rs @@ -0,0 +1,14 @@ +pub fn dump_u32_vec(file_name: &str, data: Vec) -> Result<(), String> { + use std::fs::File; + use std::io::Write; + if let Ok(mut file) = File::create(file_name) { + for value in data { + if let Err(error) = file.write_all(&value.to_le_bytes()) { + return Err(error.to_string()); + } + } + } else { + return Err(String::from("Error creating file")); + } + Ok(()) +} diff --git a/src/lib.rs b/src/lib.rs index 422d332..ee27191 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,7 @@ pub mod tiff; +mod binfile; + +pub use binfile::dump_u32_vec; pub const TEST_IMAGE_PATH: &str = "../test.tif"; pub const TEST_OUTPUT_PATH: &str = "../test.bin"; @@ -77,15 +80,9 @@ mod tests { #[test] fn tiff_data_dump_test() { - use std::fs::File; - use std::io::Write; tiff::ignore_warnings(); if let Some(standard_format) = tiff::as_standard_format(TEST_IMAGE_PATH) { - if let Ok(mut file) = File::create(TEST_OUTPUT_PATH) { - for value in standard_format { - let _ = file.write_all(&value.to_le_bytes()); - } - } + dump_u32_vec(TEST_OUTPUT_PATH, standard_format).expect("File output error"); } else { assert!(false); } -- cgit v1.2.1