Read Short as u16, SignedShort as i16 (#235)
This commit is contained in:
1 parent
36f7b3b4aa
commit
aeab243a96
3 files changed
+27
-27
No files matched your search
+9
-11
@@ -59,9 +59,7 @@ impl Value {
|
||||
Short(val) => Ok(val),
|
||||
Unsigned(val) => Ok(u16::try_from(val)?),
|
||||
UnsignedBig(val) => Ok(u16::try_from(val)?),
|
||||
val => Err(TiffError::FormatError(
|
||||
TiffFormatError::UnsignedIntegerExpected(val),
|
||||
)),
|
||||
val => Err(TiffError::FormatError(TiffFormatError::ShortExpected(val))),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,6 +161,7 @@ impl Value {
|
||||
}
|
||||
Ok(new_vec)
|
||||
}
|
||||
Short(val) => Ok(vec![val.into()]),
|
||||
Unsigned(val) => Ok(vec![val]),
|
||||
UnsignedBig(val) => Ok(vec![u32::try_from(val)?]),
|
||||
Rational(numerator, denominator) => Ok(vec![numerator, denominator]),
|
||||
@@ -205,9 +204,7 @@ impl Value {
|
||||
Ok(new_vec)
|
||||
}
|
||||
Short(val) => Ok(vec![val]),
|
||||
val => Err(TiffError::FormatError(
|
||||
TiffFormatError::UnsignedIntegerExpected(val),
|
||||
)),
|
||||
val => Err(TiffError::FormatError(TiffFormatError::ShortExpected(val))),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -285,6 +282,7 @@ impl Value {
|
||||
}
|
||||
Ok(new_vec)
|
||||
}
|
||||
Short(val) => Ok(vec![val.into()]),
|
||||
Unsigned(val) => Ok(vec![val.into()]),
|
||||
UnsignedBig(val) => Ok(vec![val]),
|
||||
Rational(numerator, denominator) => Ok(vec![numerator.into(), denominator.into()]),
|
||||
@@ -433,8 +431,8 @@ impl Entry {
|
||||
Type::BYTE => Unsigned(u32::from(self.offset[0])),
|
||||
Type::SBYTE => Signed(i32::from(self.offset[0] as i8)),
|
||||
Type::UNDEFINED => Byte(self.offset[0]),
|
||||
Type::SHORT => Unsigned(u32::from(self.r(bo).read_u16()?)),
|
||||
Type::SSHORT => Signed(i32::from(self.r(bo).read_i16()?)),
|
||||
Type::SHORT => Short(self.r(bo).read_u16()?),
|
||||
Type::SSHORT => SignedShort(self.r(bo).read_i16()?),
|
||||
Type::LONG => Unsigned(self.r(bo).read_u32()?),
|
||||
Type::SLONG => Signed(self.r(bo).read_i32()?),
|
||||
Type::FLOAT => Float(self.r(bo).read_f32()?),
|
||||
@@ -509,7 +507,7 @@ impl Entry {
|
||||
let mut r = self.r(bo);
|
||||
let mut v = Vec::new();
|
||||
for _ in 0..self.count {
|
||||
v.push(Signed(i32::from(r.read_i16()?)));
|
||||
v.push(SignedShort(r.read_i16()?));
|
||||
}
|
||||
return Ok(List(v));
|
||||
}
|
||||
@@ -569,10 +567,10 @@ impl Entry {
|
||||
Ok(SignedBig(i64::from(reader.read_i8()?)))
|
||||
}),
|
||||
Type::SHORT => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| {
|
||||
Ok(UnsignedBig(u64::from(reader.read_u16()?)))
|
||||
Ok(Short(reader.read_u16()?))
|
||||
}),
|
||||
Type::SSHORT => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| {
|
||||
Ok(SignedBig(i64::from(reader.read_i16()?)))
|
||||
Ok(SignedShort(reader.read_i16()?))
|
||||
}),
|
||||
Type::LONG => self.decode_offset(self.count, bo, bigtiff, limits, reader, |reader| {
|
||||
Ok(Unsigned(reader.read_u32()?))
|
||||
|
||||
Reference in new issue
Block a user