From b4a1c17ca236009132c5cb4b9ac07c5c16dcbc6b Mon Sep 17 00:00:00 2001 From: Kenichi Ishigaki Date: Thu, 7 Jan 2016 19:16:01 +0900 Subject: ported version_ok() implemented in PAUSE --- lib/Parse/PMFile.pm | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'lib') diff --git a/lib/Parse/PMFile.pm b/lib/Parse/PMFile.pm index b32647f..3e33a7e 100644 --- a/lib/Parse/PMFile.pm +++ b/lib/Parse/PMFile.pm @@ -144,12 +144,25 @@ sub parse { next; # don't screw up 02packages } } + unless ($self->_version_ok($pp)) { + $errors{$package} = { + long_version => qq{Version string exceeds maximum allowed length of 16b: "$pp->{version}"}, + infile => $pp->{infile}, + }; + next; + } $checked_in{$package} = $ppp->{$package}; } # end foreach package return (wantarray && %errors) ? (\%checked_in, \%errors) : \%checked_in; } +sub _version_ok { + my ($self, $pp) = @_; + return if length($pp->{version} || 0) > 16; + return 1 +} + sub _perm_check { my ($self, $package) = @_; my $userid = $self->{USERID}; -- cgit v1.2.3