From 72474b569eac81ce35b3ac79d59c701dcd76fcbb Mon Sep 17 00:00:00 2001 From: ruffson Date: Fri, 25 Sep 2020 20:06:52 +0200 Subject: [PATCH] Add byte expected error and cleanup --- src/decoder/ifd.rs | 4 ++-- src/decoder/mod.rs | 1 - src/error.rs | 4 ++++ src/tags.rs | 5 ----- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/decoder/ifd.rs b/src/decoder/ifd.rs index f1daae7..2fbaee1 100644 --- a/src/decoder/ifd.rs +++ b/src/decoder/ifd.rs @@ -39,7 +39,7 @@ impl Value { match self { Byte(val) => Ok(val), val => Err(TiffError::FormatError( - TiffFormatError::UnsignedIntegerExpected(val), + TiffFormatError::ByteExpected(val), )), } } @@ -454,7 +454,7 @@ impl Entry { } }, (Type::UNDEFINED, n) => self.decode_offset(n, bo, limits, decoder, |decoder| { - Ok(Unsigned(u32::from(decoder.read_byte()?))) + Ok(Byte(u8::from(decoder.read_byte()?))) }), _ => Err(TiffError::UnsupportedError( TiffUnsupportedError::UnsupportedDataType, diff --git a/src/decoder/mod.rs b/src/decoder/mod.rs index c9ac8f5..a206d80 100644 --- a/src/decoder/mod.rs +++ b/src/decoder/mod.rs @@ -11,7 +11,6 @@ use tags::{CompressionMethod, PhotometricInterpretation, Predictor, SampleFormat use self::stream::{ ByteOrder, DeflateReader, EndianReader, LZWReader, PackBitsReader, SmartReader, JpegReader }; -use tags::{CompressionMethod, PhotometricInterpretation, Predictor, Tag, Type}; pub mod ifd; mod stream; diff --git a/src/error.rs b/src/error.rs index 5ace43c..2154292 100644 --- a/src/error.rs +++ b/src/error.rs @@ -45,6 +45,7 @@ pub enum TiffFormatError { InvalidTagValueType(Tag), RequiredTagNotFound(Tag), UnknownPredictor(u16), + ByteExpected(Value), UnsignedIntegerExpected(Value), SignedIntegerExpected(Value), InflateError(InflateError), @@ -69,6 +70,9 @@ impl fmt::Display for TiffFormatError { UnknownPredictor(ref predictor) => { write!(fmt, "Unknown predictor “{}” encountered", predictor) } + ByteExpected(ref val) => { + write!(fmt, "Expected byte, {:?} found.", val) + } UnsignedIntegerExpected(ref val) => { write!(fmt, "Expected unsigned integer, {:?} found.", val) } diff --git a/src/tags.rs b/src/tags.rs index f0b2258..2741725 100644 --- a/src/tags.rs +++ b/src/tags.rs @@ -111,11 +111,6 @@ pub enum Tag(u16) unknown("A private or extension tag") { Threshholding = 263, // TODO add support XResolution = 282, YResolution = 283, - TileWidth = 322, - TileLength = 323, - TileOffsets = 324, - TileByteCounts = 325, - SampleFormat = 339, // JPEG JPEGTables = 347, // Advanced tags