Bug 6679: Fix 11 perlcritic violations in C4/Dates.pm

- Subroutine prototypes used at line 82, column 1.  See page 194 of PBP.  (Severity: 5)

- "return" statement with explicit "undef" at line 102, column 28.  See page 199 of PBP.  (Severity: 5)

- Expression form of "eval" at line 108, column 20.  See page 161 of PBP.  (Severity: 5)

- Variable declared in conditional statement at line 126, column 5.  Declare variables outside of the condition.  (Severity: 5)

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
Mason James 2012-06-27 01:04:36 +12:00 committed by Tomas Cohen Arazi
parent d7dc11e61f
commit 2ee1a35dfa

View file

@ -79,7 +79,7 @@ our @months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
our @days = qw(Sun Mon Tue Wed Thu Fri Sat);
sub regexp ($;$) {
sub regexp {
my $self = shift;
my $delim = qr/:?\:|\/|-/; # "non memory" cluster: no backreference
my $format = (@_) ? _recognize_format(shift) : ( $self->{'dateformat'} || _prefformat() );
@ -97,15 +97,15 @@ sub regexp ($;$) {
return qr/^(\d{1,2})$delim(\d{1,2})$delim(\d{4})(?:\s{1}(\d{1,2})\:?(\d{1,2})\:?(\d{1,2}))?/; # everything else
}
sub dmy_map ($$) {
sub dmy_map {
my $self = shift;
my $val = shift or return undef;
my $dformat = $self->{'dateformat'} or return undef;
my $val = shift or return;
my $dformat = $self->{'dateformat'} or return;
my $re = $self->regexp();
my $xsub = $dmy_subs{$dformat};
$debug and print STDERR "xsub: $xsub \n";
if ( $val =~ /$re/ ) {
my $aref = eval $xsub;
my $aref = eval {$xsub};
if ($dformat eq 'rfc822') {
$aref = _abbr_to_numeric($aref, $dformat);
pop(@{$aref}); #pop off tz offset because we are not setup to handle tz conversions just yet
@ -123,7 +123,9 @@ sub dmy_map ($$) {
sub _abbr_to_numeric {
my $aref = shift;
my $dformat = shift;
my ($month_abbr, $day_abbr) = ($aref->[4], $aref->[3]) if $dformat eq 'rfc822';
my ($month_abbr, $day_abbr); # keep perlcritic happy ;)
($month_abbr, $day_abbr) = ($aref->[4], $aref->[3]) if $dformat eq 'rfc822';
for( my $i = 0; $i < scalar(@months); $i++ ) {
if ( $months[$i] =~ /$month_abbr/ ) {
@ -171,7 +173,7 @@ sub new {
return $self->init(@_);
}
sub init ($;$$) {
sub init {
my $self = shift;
my $dformat;
$self->{'dateformat'} = $dformat = ( scalar(@_) >= 2 ) ? $_[1] : _prefformat();
@ -181,27 +183,27 @@ sub init ($;$$) {
return $self;
}
sub output ($;$) {
sub output {
my $self = shift;
my $newformat = (@_) ? _recognize_format(shift) : _prefformat();
return ( eval { POSIX::strftime( $posix_map{$newformat}, @{ $self->{'dmy_arrayref'} } ) } || undef );
}
sub today ($;$) { # NOTE: sets date value to today (and returns it in the requested or current format)
sub today { # NOTE: sets date value to today (and returns it in the requested or current format)
my $class = shift;
$class = ref($class) || $class;
my $format = (@_) ? _recognize_format(shift) : _prefformat();
return $class->new()->output($format);
}
sub _recognize_format($) {
sub _recognize_format {
my $incoming = shift;
( $incoming eq 'syspref' ) and return _prefformat();
( scalar grep ( /^$incoming$/, keys %format_map ) == 1 ) or croak "The format you asked for ('$incoming') is unrecognized.";
return $incoming;
}
sub DHTMLcalendar ($;$) { # interface to posix_map
sub DHTMLcalendar { # interface to posix_map
my $class = shift;
my $format = (@_) ? shift : _prefformat();
return $posix_map{$format};