minor error checking
authordjfiander <djfiander@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 20 Mar 2009 00:57:45 +0000 (00:57 +0000)
committerdjfiander <djfiander@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 20 Mar 2009 00:57:45 +0000 (00:57 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12620 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Utils/MFHD/Caption.pm

index b506886..d4f38c9 100755 (executable)
@@ -356,11 +356,13 @@ my %dispatch = (
                's' => \&match_season,
                'y' => \&match_year,
 );
+
 sub regularity_match {
     my $self = shift;
     my $pubcode = shift;
     my @date = @_;
 
+    # we can't match something that doesn't exist.
     return 0 if !exists $self->{_mfhdc_PATTERN}->{y};
 
     foreach my $regularity (@{$self->{_mfhdc_PATTERN}->{y}}) {
@@ -369,6 +371,11 @@ sub regularity_match {
        my $chroncode= substr($regularity, 1, 1);
        my @pats = split(/,/, substr($regularity, 2));
 
+       if (!exists $dispatch{$chroncode}) {
+           carp "Unrecognized chroncode '$chroncode'";
+           return 0;
+       }
+
        # XXX WRITE ME
        foreach my $pat (@pats) {
            $pat =~ s|/.+||;    # If it's a combined date, match the start