projects
/
webpac
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
don't die if ISIS database is not found, just go to next one
[webpac]
/
isis_sf.pm
diff --git
a/isis_sf.pm
b/isis_sf.pm
index
554bcc6
..
f118318
100644
(file)
--- a/
isis_sf.pm
+++ b/
isis_sf.pm
@@
-8,16
+8,19
@@
sub isis_sf {
my $isis_id = shift @_;
my $subfield = shift @_;
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
# 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}) {
- return $sf->{$subfield};
+ my $all_sf = $row->{record}->{$isis_id}->[$i];
+ $all_sf =~ s/\^./ /g; # nuke definitions
+ return $all_sf;
}
}
+ my $sf = $row->{$isis_id}->[$i]->{$subfield};
+ return $sf if ($sf);
}
}
}
}