fix CROASCII (B1.002:1982) filter
[webpac] / isis_sf.pm
index 554bcc6..49b2081 100644 (file)
@@ -8,14 +8,19 @@ sub isis_sf {
        my $isis_id = shift @_;
        my $subfield = shift @_;
 
-       if ($row->{$isis_id}->[0]) {
-               my $sf = OpenIsis::subfields($row->{$isis_id}->[0]);
-               if (! defined $subfield || length($subfield) == 0) {
+       my $i = shift @_ || 0;
+
+       my $out;
+
+       if ($row->{$isis_id}->[$i]) {
+               if (! $subfield) {
                        # subfield list undef, empty or no defined subfields for this record
-                       my $all_sf = $row->{$isis_id}->[0];
-                       $all_sf =~ s/\^./ /g;   nuke definirions
-                       return $all_sf;
-               } elsif ($sf->{$subfield}) {
+                       my $all_sf = $row->{$isis_id}->[$i];
+                       $all_sf =~ s/\^./ /g;   # nuke definitions
+                       return $all_sf; 
+               }
+               my $sf = OpenIsis::subfields($row->{$isis_id}->[$i]);
+               if ($sf->{$subfield}) {
                        return $sf->{$subfield};
                }
        }