From 9c4a93e72eab0dc8d56c97ac0288c798c2c89b60 Mon Sep 17 00:00:00 2001 From: Matteo Cypriani Date: Mon, 5 Dec 2016 12:52:31 -0500 Subject: [PATCH] Add read_sized_string() --- src/lib.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 3bcf854..3228afa 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -261,10 +261,16 @@ fn read_nrg_chunks(mut fd: &mut File, nm: &mut NrgMetadata) -> Result Result { - let mut handle = fd.take(4); - let mut chunk_id = String::new(); - try!(handle.read_to_string(&mut chunk_id)); - Ok(chunk_id) + read_sized_string(fd, 4) +} + + +/// Reads a String of size `size` from `fd`. +fn read_sized_string(fd: &File, size: u64) -> Result { + let mut handle = fd.take(size); + let mut string = String::new(); + try!(handle.read_to_string(&mut string)); + Ok(string) }