summaryrefslogtreecommitdiffstats
path: root/src/fastfield/reader.rs
diff options
context:
space:
mode:
authorPaul Masurel <paul.masurel@gmail.com>2016-10-16 23:25:03 +0900
committerPaul Masurel <paul.masurel@gmail.com>2016-10-16 23:25:03 +0900
commit9358eb32f0450782f473eb9c938946864284adff (patch)
treee6397569ef6398def097919557a9a4dcc913d638 /src/fastfield/reader.rs
parent20c089b9f18d943bd862d973c22e129b02c5ae05 (diff)
bug/4 Removed useless use of Cursor.
Diffstat (limited to 'src/fastfield/reader.rs')
-rw-r--r--src/fastfield/reader.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/fastfield/reader.rs b/src/fastfield/reader.rs
index ade4597..f57aa93 100644
--- a/src/fastfield/reader.rs
+++ b/src/fastfield/reader.rs
@@ -1,5 +1,4 @@
use std::io;
-use std::io::{SeekFrom, Seek};
use std::collections::HashMap;
use std::ops::Deref;
@@ -33,7 +32,7 @@ impl U32FastFieldReader {
let min_val;
let amplitude;
{
- let mut cursor = data.cursor();
+ let mut cursor = data.as_slice();
min_val = try!(u32::deserialize(&mut cursor));
amplitude = try!(u32::deserialize(&mut cursor));
}
@@ -73,10 +72,15 @@ impl U32FastFieldsReader {
let header_offset;
let field_offsets: Vec<(Field, u32)>;
{
- let mut cursor = source.cursor();
- header_offset = try!(u32::deserialize(&mut cursor));
- try!(cursor.seek(SeekFrom::Start(header_offset as u64)));
- field_offsets = try!(Vec::deserialize(&mut cursor));
+ let buffer = source.as_slice();
+ {
+ let mut cursor = buffer;
+ header_offset = try!(u32::deserialize(&mut cursor));
+ }
+ {
+ let mut cursor = &buffer[header_offset as usize..];
+ field_offsets = try!(Vec::deserialize(&mut cursor));
+ }
}
let mut end_offsets: Vec<u32> = field_offsets
.iter()