don't die if ISIS database is not found, just go to next one
[webpac] / isis_sf.pm
index f1babf6..f118318 100644 (file)
@@ -1,9 +1,9 @@
 #
-# get_sf($isis_row,'isis_field'[,'subfield'])
+# isis_sf($isis_row,'isis_field'[,'subfield'])
 #
-# e.g. get_sf($row,'700','a')
+# e.g. isis_sf($row,'700','a')
 #
-sub get_sf {
+sub isis_sf {
        my $row = shift @_;
        my $isis_id = shift @_;
        my $subfield = shift @_;
@@ -15,14 +15,12 @@ sub get_sf {
        if ($row->{$isis_id}->[$i]) {
                if (! $subfield) {
                        # subfield list undef, empty or no defined subfields for this record
-                       my $all_sf = $row->{$isis_id}->[$i];
-                       $all_sf =~ s/\^./ /g;   # nuke definitions
+                       my $all_sf = $row->{record}->{$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};
-               }
+               my $sf = $row->{$isis_id}->[$i]->{$subfield};
+               return $sf if ($sf);
        }
 }