exiftool_vendored 11.55.0 → 11.57.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of exiftool_vendored might be problematic. Click here for more details.

@@ -17,7 +17,7 @@ package Image::ExifTool::Validate;
17
17
  use strict;
18
18
  use vars qw($VERSION %exifSpec);
19
19
 
20
- $VERSION = '1.16';
20
+ $VERSION = '1.17';
21
21
 
22
22
  use Image::ExifTool qw(:Utils);
23
23
  use Image::ExifTool::Exif;
@@ -554,7 +554,7 @@ sub FinishValidate($$)
554
554
  undef $ver unless $ver =~ /^\d{4}$/; # (already warned if invalid version)
555
555
  }
556
556
  # get all tags in this group
557
- foreach $key (keys %{$$et{VALUE}}) {
557
+ foreach $key (sort keys %{$$et{VALUE}}) {
558
558
  next unless $et->GetGroup($key, 1) eq $grp;
559
559
  next if $$et{TAG_EXTRA}{$key} and $$et{TAG_EXTRA}{$key}{G3}; # ignore sub-documents
560
560
  # fill in %val lookup with values based on tag ID
@@ -905,6 +905,7 @@ sub WriteXMP($$;$)
905
905
  }
906
906
  }
907
907
  foreach $tagInfo (@tagInfoList) {
908
+ my @delPaths; # list of deleted paths
908
909
  my $tag = $$tagInfo{TagID};
909
910
  my $path = GetPropertyPath($tagInfo);
910
911
  unless ($path) {
@@ -1033,7 +1034,7 @@ sub WriteXMP($$;$)
1033
1034
  # take attributes from old values if they exist
1034
1035
  %attrs = %{$$cap[1]};
1035
1036
  if ($overwrite) {
1036
- my ($delPath, $oldLang, $delLang, $addLang, @matchingPaths);
1037
+ my ($oldLang, $delLang, $addLang, @matchingPaths);
1037
1038
  # check to see if this is an indexed list item
1038
1039
  if ($path =~ / /) {
1039
1040
  my $pp;
@@ -1092,10 +1093,8 @@ sub WriteXMP($$;$)
1092
1093
  }
1093
1094
  # save attributes and path from first deleted property
1094
1095
  # so we can replace it exactly
1095
- unless ($delPath) {
1096
- %attrs = %$attrs;
1097
- $delPath = $path;
1098
- }
1096
+ %attrs = %$attrs unless @delPaths;
1097
+ push @delPaths, $path;
1099
1098
  # delete this tag
1100
1099
  delete $capture{$path};
1101
1100
  ++$changed;
@@ -1106,9 +1105,9 @@ sub WriteXMP($$;$)
1106
1105
  delete $capture{"$pp/rdf:type"} if @a == 1;
1107
1106
  }
1108
1107
  }
1109
- next unless $delPath or $$tagInfo{List} or $addLang;
1110
- if ($delPath) {
1111
- $path = $delPath;
1108
+ next unless @delPaths or $$tagInfo{List} or $addLang;
1109
+ if (@delPaths) {
1110
+ $path = shift @delPaths;
1112
1111
  $deleted = 1;
1113
1112
  } else {
1114
1113
  # don't change tag if we couldn't delete old copy
@@ -1220,11 +1219,14 @@ sub WriteXMP($$;$)
1220
1219
  my $idx = $1;
1221
1220
  my $len = length $1;
1222
1221
  my $pos = pos($path) - $len - ($2 ? length $2 : 0);
1223
- # generate unique list sub-indices to store additional values in sequence
1222
+ # use sub-indices if necessary to store additional values in sequence
1224
1223
  if ($subIdx) {
1225
1224
  $idx = substr($idx, 0, -length($subIdx)); # remove old sub-index
1226
1225
  $subIdx = substr($subIdx, 1) + 1;
1227
1226
  $subIdx = length($subIdx) . $subIdx;
1227
+ } elsif (@delPaths) {
1228
+ $path = shift @delPaths;
1229
+ next;
1228
1230
  } else {
1229
1231
  $subIdx = '10';
1230
1232
  }
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 11.55
3
+ Version: 11.57
4
4
  Release: 1
5
5
  License: Artistic/GPL
6
6
  Group: Development/Libraries/Perl
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ExiftoolVendored
4
- VERSION = Gem::Version.new('11.55.0')
4
+ VERSION = Gem::Version.new('11.57.0')
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exiftool_vendored
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.55.0
4
+ version: 11.57.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew McEachen
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-07-13 00:00:00.000000000 Z
12
+ date: 2019-07-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: exiftool