@@ -11,7 +11,7 @@ use crate::{TiffError, TiffFormatError, TiffResult};
11
11
12
12
use self :: Value :: {
13
13
Ascii , Byte , Double , Float , Ifd , IfdBig , List , Rational , RationalBig , SRational , SRationalBig ,
14
- Short , Signed , SignedBig , Unsigned , UnsignedBig ,
14
+ Short , Signed , SignedBig , SignedByte , SignedShort , Unsigned , UnsignedBig ,
15
15
} ;
16
16
17
17
#[ allow( unused_qualifications) ]
@@ -72,6 +72,8 @@ impl Value {
72
72
73
73
pub fn into_i32 ( self ) -> TiffResult < i32 > {
74
74
match self {
75
+ SignedByte ( val) => Ok ( val. into ( ) ) ,
76
+ SignedShort ( val) => Ok ( val. into ( ) ) ,
75
77
Signed ( val) => Ok ( val) ,
76
78
SignedBig ( val) => Ok ( i32:: try_from ( val) ?) ,
77
79
val => Err ( TiffError :: FormatError (
@@ -95,6 +97,8 @@ impl Value {
95
97
96
98
pub fn into_i64 ( self ) -> TiffResult < i64 > {
97
99
match self {
100
+ SignedByte ( val) => Ok ( val. into ( ) ) ,
101
+ SignedShort ( val) => Ok ( val. into ( ) ) ,
98
102
Signed ( val) => Ok ( val. into ( ) ) ,
99
103
SignedBig ( val) => Ok ( val) ,
100
104
val => Err ( TiffError :: FormatError (
@@ -206,6 +210,8 @@ impl Value {
206
210
}
207
211
Ok ( new_vec)
208
212
}
213
+ SignedByte ( val) => Ok ( vec ! [ val. into( ) ] ) ,
214
+ SignedShort ( val) => Ok ( vec ! [ val. into( ) ] ) ,
209
215
Signed ( val) => Ok ( vec ! [ val] ) ,
210
216
SignedBig ( val) => Ok ( vec ! [ i32 :: try_from( val) ?] ) ,
211
217
SRational ( numerator, denominator) => Ok ( vec ! [ numerator, denominator] ) ,
@@ -291,6 +297,8 @@ impl Value {
291
297
}
292
298
Ok ( new_vec)
293
299
}
300
+ SignedByte ( val) => Ok ( vec ! [ val. into( ) ] ) ,
301
+ SignedShort ( val) => Ok ( vec ! [ val. into( ) ] ) ,
294
302
Signed ( val) => Ok ( vec ! [ val. into( ) ] ) ,
295
303
SignedBig ( val) => Ok ( vec ! [ val] ) ,
296
304
SRational ( numerator, denominator) => Ok ( vec ! [ numerator. into( ) , denominator. into( ) ] ) ,
0 commit comments