Skip to content

Commit 04ebad7

Browse files
committed
Add SignedByte and SignedShort to into_ conversion methods
Ensure that Value::SignedByte and Value::SignedShort to the into_i32, into_i64, into_i32_vec, into_i64_vec methods.
1 parent 9d96765 commit 04ebad7

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/decoder/ifd.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use crate::{TiffError, TiffFormatError, TiffResult};
1111

1212
use self::Value::{
1313
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,
1515
};
1616

1717
#[allow(unused_qualifications)]
@@ -72,6 +72,8 @@ impl Value {
7272

7373
pub fn into_i32(self) -> TiffResult<i32> {
7474
match self {
75+
SignedByte(val) => Ok(val.into()),
76+
SignedShort(val) => Ok(val.into()),
7577
Signed(val) => Ok(val),
7678
SignedBig(val) => Ok(i32::try_from(val)?),
7779
val => Err(TiffError::FormatError(
@@ -95,6 +97,8 @@ impl Value {
9597

9698
pub fn into_i64(self) -> TiffResult<i64> {
9799
match self {
100+
SignedByte(val) => Ok(val.into()),
101+
SignedShort(val) => Ok(val.into()),
98102
Signed(val) => Ok(val.into()),
99103
SignedBig(val) => Ok(val),
100104
val => Err(TiffError::FormatError(
@@ -206,6 +210,8 @@ impl Value {
206210
}
207211
Ok(new_vec)
208212
}
213+
SignedByte(val) => Ok(vec![val.into()]),
214+
SignedShort(val) => Ok(vec![val.into()]),
209215
Signed(val) => Ok(vec![val]),
210216
SignedBig(val) => Ok(vec![i32::try_from(val)?]),
211217
SRational(numerator, denominator) => Ok(vec![numerator, denominator]),
@@ -291,6 +297,8 @@ impl Value {
291297
}
292298
Ok(new_vec)
293299
}
300+
SignedByte(val) => Ok(vec![val.into()]),
301+
SignedShort(val) => Ok(vec![val.into()]),
294302
Signed(val) => Ok(vec![val.into()]),
295303
SignedBig(val) => Ok(vec![val]),
296304
SRational(numerator, denominator) => Ok(vec![numerator.into(), denominator.into()]),

0 commit comments

Comments
 (0)