@@ -934,18 +934,18 @@ async fn read_tag_value(
934
934
935
935
match tag_type {
936
936
Type :: BYTE | Type :: UNDEFINED => {
937
- let mut v = Vec :: new ( ) ;
937
+ let mut v = Vec :: with_capacity ( count as _ ) ;
938
938
for _ in 0 ..count {
939
939
v. push ( Value :: Byte ( data. read_u8 ( ) ?) ) ;
940
940
}
941
- return Ok ( Value :: List ( v) ) ;
941
+ Ok ( Value :: List ( v) )
942
942
}
943
943
Type :: SBYTE => {
944
- let mut v = Vec :: new ( ) ;
944
+ let mut v = Vec :: with_capacity ( count as _ ) ;
945
945
for _ in 0 ..count {
946
946
v. push ( Value :: SignedByte ( data. read_i8 ( ) ?) ) ;
947
947
}
948
- return Ok ( Value :: List ( v) ) ;
948
+ Ok ( Value :: List ( v) )
949
949
}
950
950
Type :: ASCII => {
951
951
let mut buf = vec ! [ 0 ; count as usize ] ;
@@ -954,95 +954,95 @@ async fn read_tag_value(
954
954
let v = std:: str:: from_utf8 ( & buf)
955
955
. map_err ( |err| AsyncTiffError :: General ( err. to_string ( ) ) ) ?;
956
956
let v = v. trim_matches ( char:: from ( 0 ) ) ;
957
- return Ok ( Value :: Ascii ( v. into ( ) ) ) ;
957
+ Ok ( Value :: Ascii ( v. into ( ) ) )
958
958
} else {
959
959
panic ! ( "Invalid tag" ) ;
960
960
// return Err(TiffError::FormatError(TiffFormatError::InvalidTag));
961
961
}
962
962
}
963
963
Type :: SHORT => {
964
- let mut v = Vec :: new ( ) ;
964
+ let mut v = Vec :: with_capacity ( count as _ ) ;
965
965
for _ in 0 ..count {
966
966
v. push ( Value :: Short ( data. read_u16 ( ) ?) ) ;
967
967
}
968
- return Ok ( Value :: List ( v) ) ;
968
+ Ok ( Value :: List ( v) )
969
969
}
970
970
Type :: SSHORT => {
971
- let mut v = Vec :: new ( ) ;
971
+ let mut v = Vec :: with_capacity ( count as _ ) ;
972
972
for _ in 0 ..count {
973
973
v. push ( Value :: Signed ( i32:: from ( data. read_i16 ( ) ?) ) ) ;
974
974
}
975
- return Ok ( Value :: List ( v) ) ;
975
+ Ok ( Value :: List ( v) )
976
976
}
977
977
Type :: LONG => {
978
- let mut v = Vec :: new ( ) ;
978
+ let mut v = Vec :: with_capacity ( count as _ ) ;
979
979
for _ in 0 ..count {
980
980
v. push ( Value :: Unsigned ( data. read_u32 ( ) ?) ) ;
981
981
}
982
- return Ok ( Value :: List ( v) ) ;
982
+ Ok ( Value :: List ( v) )
983
983
}
984
984
Type :: SLONG => {
985
- let mut v = Vec :: new ( ) ;
985
+ let mut v = Vec :: with_capacity ( count as _ ) ;
986
986
for _ in 0 ..count {
987
987
v. push ( Value :: Signed ( data. read_i32 ( ) ?) ) ;
988
988
}
989
- return Ok ( Value :: List ( v) ) ;
989
+ Ok ( Value :: List ( v) )
990
990
}
991
991
Type :: FLOAT => {
992
- let mut v = Vec :: new ( ) ;
992
+ let mut v = Vec :: with_capacity ( count as _ ) ;
993
993
for _ in 0 ..count {
994
994
v. push ( Value :: Float ( data. read_f32 ( ) ?) ) ;
995
995
}
996
- return Ok ( Value :: List ( v) ) ;
996
+ Ok ( Value :: List ( v) )
997
997
}
998
998
Type :: DOUBLE => {
999
999
let mut v = Vec :: with_capacity ( count as _ ) ;
1000
1000
for _ in 0 ..count {
1001
1001
v. push ( Value :: Double ( data. read_f64 ( ) ?) )
1002
1002
}
1003
- return Ok ( Value :: List ( v) ) ;
1003
+ Ok ( Value :: List ( v) )
1004
1004
}
1005
1005
Type :: RATIONAL => {
1006
1006
let mut v = Vec :: with_capacity ( count as _ ) ;
1007
1007
for _ in 0 ..count {
1008
1008
v. push ( Value :: Rational ( data. read_u32 ( ) ?, data. read_u32 ( ) ?) )
1009
1009
}
1010
- return Ok ( Value :: List ( v) ) ;
1010
+ Ok ( Value :: List ( v) )
1011
1011
}
1012
1012
Type :: SRATIONAL => {
1013
1013
let mut v = Vec :: with_capacity ( count as _ ) ;
1014
1014
for _ in 0 ..count {
1015
1015
v. push ( Value :: SRational ( data. read_i32 ( ) ?, data. read_i32 ( ) ?) )
1016
1016
}
1017
- return Ok ( Value :: List ( v) ) ;
1017
+ Ok ( Value :: List ( v) )
1018
1018
}
1019
1019
Type :: LONG8 => {
1020
1020
let mut v = Vec :: with_capacity ( count as _ ) ;
1021
1021
for _ in 0 ..count {
1022
1022
v. push ( Value :: UnsignedBig ( data. read_u64 ( ) ?) )
1023
1023
}
1024
- return Ok ( Value :: List ( v) ) ;
1024
+ Ok ( Value :: List ( v) )
1025
1025
}
1026
1026
Type :: SLONG8 => {
1027
1027
let mut v = Vec :: with_capacity ( count as _ ) ;
1028
1028
for _ in 0 ..count {
1029
1029
v. push ( Value :: SignedBig ( data. read_i64 ( ) ?) )
1030
1030
}
1031
- return Ok ( Value :: List ( v) ) ;
1031
+ Ok ( Value :: List ( v) )
1032
1032
}
1033
1033
Type :: IFD => {
1034
1034
let mut v = Vec :: with_capacity ( count as _ ) ;
1035
1035
for _ in 0 ..count {
1036
1036
v. push ( Value :: Ifd ( data. read_u32 ( ) ?) )
1037
1037
}
1038
- return Ok ( Value :: List ( v) ) ;
1038
+ Ok ( Value :: List ( v) )
1039
1039
}
1040
1040
Type :: IFD8 => {
1041
1041
let mut v = Vec :: with_capacity ( count as _ ) ;
1042
1042
for _ in 0 ..count {
1043
1043
v. push ( Value :: IfdBig ( data. read_u64 ( ) ?) )
1044
1044
}
1045
- return Ok ( Value :: List ( v) ) ;
1045
+ Ok ( Value :: List ( v) )
1046
1046
}
1047
1047
}
1048
1048
}
0 commit comments