drop dependency on std::io

This commit is contained in:
Julius Rakow 2018-08-25 00:22:51 +02:00
parent 606c006e1c
commit ffe54f9674
No known key found for this signature in database
GPG Key ID: 9AABD9B859435A93
1 changed files with 22 additions and 18 deletions

View File

@ -1,6 +1,5 @@
use byteorder::{LittleEndian, ReadBytesExt, WriteBytesExt}; use byteorder::{ByteOrder, LittleEndian, WriteBytesExt};
use nan_preserving_float::{F32, F64}; use nan_preserving_float::{F32, F64};
use std::io;
use std::mem::transmute; use std::mem::transmute;
use std::{f32, i32, i64, u32, u64}; use std::{f32, i32, i64, u32, u64};
use TrapKind; use TrapKind;
@ -585,8 +584,9 @@ impl LittleEndianConvert for i16 {
} }
fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> { fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> {
io::Cursor::new(buffer).read_i16::<LittleEndian>() buffer.get(0..2)
.map_err(|_| Error::InvalidLittleEndianBuffer) .map(LittleEndian::read_i16)
.ok_or_else(|| Error::InvalidLittleEndianBuffer)
} }
} }
@ -597,8 +597,9 @@ impl LittleEndianConvert for u16 {
} }
fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> { fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> {
io::Cursor::new(buffer).read_u16::<LittleEndian>() buffer.get(0..2)
.map_err(|_| Error::InvalidLittleEndianBuffer) .map(LittleEndian::read_u16)
.ok_or_else(|| Error::InvalidLittleEndianBuffer)
} }
} }
@ -609,8 +610,9 @@ impl LittleEndianConvert for i32 {
} }
fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> { fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> {
io::Cursor::new(buffer).read_i32::<LittleEndian>() buffer.get(0..4)
.map_err(|_| Error::InvalidLittleEndianBuffer) .map(LittleEndian::read_i32)
.ok_or_else(|| Error::InvalidLittleEndianBuffer)
} }
} }
@ -621,8 +623,9 @@ impl LittleEndianConvert for u32 {
} }
fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> { fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> {
io::Cursor::new(buffer).read_u32::<LittleEndian>() buffer.get(0..4)
.map_err(|_| Error::InvalidLittleEndianBuffer) .map(LittleEndian::read_u32)
.ok_or_else(|| Error::InvalidLittleEndianBuffer)
} }
} }
@ -633,8 +636,9 @@ impl LittleEndianConvert for i64 {
} }
fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> { fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> {
io::Cursor::new(buffer).read_i64::<LittleEndian>() buffer.get(0..8)
.map_err(|_| Error::InvalidLittleEndianBuffer) .map(LittleEndian::read_i64)
.ok_or_else(|| Error::InvalidLittleEndianBuffer)
} }
} }
@ -645,9 +649,9 @@ impl LittleEndianConvert for f32 {
} }
fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> { fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> {
io::Cursor::new(buffer).read_u32::<LittleEndian>() buffer.get(0..4)
.map(f32::from_bits) .map(LittleEndian::read_f32)
.map_err(|_| Error::InvalidLittleEndianBuffer) .ok_or_else(|| Error::InvalidLittleEndianBuffer)
} }
} }
@ -658,9 +662,9 @@ impl LittleEndianConvert for f64 {
} }
fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> { fn from_little_endian(buffer: &[u8]) -> Result<Self, Error> {
io::Cursor::new(buffer).read_u64::<LittleEndian>() buffer.get(0..8)
.map(f64::from_bits) .map(LittleEndian::read_f64)
.map_err(|_| Error::InvalidLittleEndianBuffer) .ok_or_else(|| Error::InvalidLittleEndianBuffer)
} }
} }