aboutsummaryrefslogtreecommitdiff
path: root/src/utils.rs
diff options
context:
space:
mode:
authorIgor Tolmachev <me@igorek.dev>2024-07-10 15:23:51 +0900
committerIgor Tolmachev <me@igorek.dev>2024-07-10 15:23:51 +0900
commitef91e79e35e9402855f1370c2a570bafdf3a58f1 (patch)
treeda0fd11f4f27914bdb8a386809c539c9f6cf89bc /src/utils.rs
parent8a7106030cd6c0044820ebaa213984a5b842e497 (diff)
downloadarchivator-ef91e79e35e9402855f1370c2a570bafdf3a58f1.tar.gz
archivator-ef91e79e35e9402855f1370c2a570bafdf3a58f1.zip
Add mtime, atime, ctime
Diffstat (limited to 'src/utils.rs')
-rw-r--r--src/utils.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/utils.rs b/src/utils.rs
new file mode 100644
index 0000000..185758a
--- /dev/null
+++ b/src/utils.rs
@@ -0,0 +1,23 @@
1use std::io::{Read, Result as IOResult};
2
3pub trait ReadUtils {
4 fn read_arr<const S: usize>(&mut self) -> IOResult<[u8; S]>;
5
6 fn read_vec(&mut self, size: usize) -> IOResult<Vec<u8>>;
7}
8
9impl<R: Read> ReadUtils for R {
10 #[inline]
11 fn read_arr<const S: usize>(&mut self) -> Result<[u8; S], std::io::Error> {
12 let mut arr = [0; S];
13 self.read(&mut arr)?;
14 Ok(arr)
15 }
16
17 #[inline]
18 fn read_vec(&mut self, size: usize) -> Result<Vec<u8>, std::io::Error> {
19 let mut vec = vec![0; size];
20 self.read(&mut vec)?;
21 Ok(vec)
22 }
23}