diff examples/anmrenderer.rs @ 700:ccb739c5b66c

examples: factorise file reading into a buffer.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Fri, 23 Aug 2019 13:05:48 +0200
parents 6be3320a1cb3
children b6c351ca0a35
line wrap: on
line diff
--- a/examples/anmrenderer.rs
+++ b/examples/anmrenderer.rs
@@ -87,6 +87,14 @@ struct ShaderInterface {
     mvp: Uniform<[[f32; 4]; 4]>,
 }
 
+fn load_file_into_vec(filename: &str) -> Vec<u8> {
+    let file = File::open(filename).unwrap();
+    let mut file = BufReader::new(file);
+    let mut buf = vec![];
+    file.read_to_end(&mut buf).unwrap();
+    buf
+}
+
 fn main() {
     // Parse arguments.
     let args: Vec<_> = env::args().collect();
@@ -99,10 +107,7 @@ fn main() {
     let script: u8 = args[3].parse().expect("number");
 
     // Open the ANM file.
-    let file = File::open(anm_filename).unwrap();
-    let mut file = BufReader::new(file);
-    let mut buf = vec![];
-    file.read_to_end(&mut buf).unwrap();
+    let buf = load_file_into_vec(anm_filename);
     let anm0 = Anm0::from_slice(&buf).unwrap();
 
     if !anm0.scripts.contains_key(&script) {