summaryrefslogtreecommitdiff
path: root/src/junk.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/junk.rs')
-rw-r--r--src/junk.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/junk.rs b/src/junk.rs
new file mode 100644
index 0000000..77c676c
--- /dev/null
+++ b/src/junk.rs
@@ -0,0 +1,22 @@
+use rand::RngCore;
+use std::fs::File;
+use std::io::Write;
+
+const BUFSIZ: usize = 4096;
+
+pub fn junk(f: &mut File, n: u64) -> Result<(), std::io::Error> {
+ let mut remain = n;
+ while remain >= BUFSIZ as u64 {
+ write_junk(f, BUFSIZ)?;
+ remain -= BUFSIZ as u64;
+ }
+ write_junk(f, remain as usize)?;
+ Ok(())
+}
+
+fn write_junk(f: &mut File, n: usize) -> Result<(), std::io::Error> {
+ let mut bytes = [0u8; BUFSIZ];
+ rand::thread_rng().fill_bytes(&mut bytes);
+ f.write_all(&bytes[..n])?;
+ Ok(())
+}