@@ -56,6 +56,7 @@ impl Value {
5656
5757 pub fn into_u16 ( self ) -> TiffResult < u16 > {
5858 match self {
59+ Byte ( val) => Ok ( val. into ( ) ) ,
5960 Short ( val) => Ok ( val) ,
6061 Unsigned ( val) => Ok ( u16:: try_from ( val) ?) ,
6162 UnsignedBig ( val) => Ok ( u16:: try_from ( val) ?) ,
@@ -77,6 +78,7 @@ impl Value {
7778
7879 pub fn into_u32 ( self ) -> TiffResult < u32 > {
7980 match self {
81+ Byte ( val) => Ok ( val. into ( ) ) ,
8082 Short ( val) => Ok ( val. into ( ) ) ,
8183 Unsigned ( val) => Ok ( val) ,
8284 UnsignedBig ( val) => Ok ( u32:: try_from ( val) ?) ,
@@ -102,6 +104,7 @@ impl Value {
102104
103105 pub fn into_u64 ( self ) -> TiffResult < u64 > {
104106 match self {
107+ Byte ( val) => Ok ( val. into ( ) ) ,
105108 Short ( val) => Ok ( val. into ( ) ) ,
106109 Unsigned ( val) => Ok ( val. into ( ) ) ,
107110 UnsignedBig ( val) => Ok ( val) ,
@@ -161,6 +164,7 @@ impl Value {
161164 }
162165 Ok ( new_vec)
163166 }
167+ Byte ( val) => Ok ( vec ! [ val. into( ) ] ) ,
164168 Short ( val) => Ok ( vec ! [ val. into( ) ] ) ,
165169 Unsigned ( val) => Ok ( vec ! [ val] ) ,
166170 UnsignedBig ( val) => Ok ( vec ! [ u32 :: try_from( val) ?] ) ,
@@ -188,9 +192,7 @@ impl Value {
188192 }
189193 Byte ( val) => Ok ( vec ! [ val] ) ,
190194
191- val => Err ( TiffError :: FormatError (
192- TiffFormatError :: UnsignedIntegerExpected ( val) ,
193- ) ) ,
195+ val => Err ( TiffError :: FormatError ( TiffFormatError :: ByteExpected ( val) ) ) ,
194196 }
195197 }
196198
@@ -203,6 +205,7 @@ impl Value {
203205 }
204206 Ok ( new_vec)
205207 }
208+ Byte ( val) => Ok ( vec ! [ val. into( ) ] ) ,
206209 Short ( val) => Ok ( vec ! [ val] ) ,
207210 val => Err ( TiffError :: FormatError ( TiffFormatError :: ShortExpected ( val) ) ) ,
208211 }
@@ -282,6 +285,7 @@ impl Value {
282285 }
283286 Ok ( new_vec)
284287 }
288+ Byte ( val) => Ok ( vec ! [ val. into( ) ] ) ,
285289 Short ( val) => Ok ( vec ! [ val. into( ) ] ) ,
286290 Unsigned ( val) => Ok ( vec ! [ val. into( ) ] ) ,
287291 UnsignedBig ( val) => Ok ( vec ! [ val] ) ,
@@ -428,8 +432,8 @@ impl Entry {
428432
429433 // 2b: the value is at most 4 bytes or doesn't fit in the offset field.
430434 return Ok ( match self . type_ {
431- Type :: BYTE => Unsigned ( u32 :: from ( self . offset [ 0 ] ) ) ,
432- Type :: SBYTE => Signed ( i32 :: from ( self . offset [ 0 ] as i8 ) ) ,
435+ Type :: BYTE => Byte ( self . offset [ 0 ] ) ,
436+ Type :: SBYTE => SignedByte ( i8 :: from ( self . offset [ 0 ] as i8 ) ) ,
433437 Type :: UNDEFINED => Byte ( self . offset [ 0 ] ) ,
434438 Type :: SHORT => Short ( self . r ( bo) . read_u16 ( ) ?) ,
435439 Type :: SSHORT => SignedShort ( self . r ( bo) . read_i16 ( ) ?) ,
0 commit comments