my $swish;
sub cnv_cp {
- my $tmp = shift;
+ my $codepage = shift;
+ my $tmp = shift || return;
if ($codepage) {
- $tmp = $codepage->convert($tmp) || print STDERR "$1$2 = '$tmp' can't convert";
+ $tmp = $codepage->convert($tmp) || print STDERR "iso: '$tmp' can't convert\n";
}
return $tmp;
}
# this is EBSCO special to support numeric subfield in
# form of 856#3
if ($format =~ s/^(\d\d\d)#*(\w?)//) {
- my $tmp = get_sf($row,$1,$2,$i);
+ my $tmp = cnv_cp($codepage,&$func($row,$1,$2,$i));
if ($tmp) {
- $display .= $prefix.cnv_cp($tmp);
+ $display .= $prefix.$tmp;
$swish .= $tmp." ";
#print STDERR " == $tmp";
}
# (as opposed to 010 and 011) so they are strictly listed
# here
} elsif ($format =~ s/^(1[01])//) {
- my $tmp = get_sf($row,$1,undef,$i);
+ my $tmp = cnv_cp($codepage,&$func($row,$1,undef,$i));
if ($tmp) {
- $display .= $prefix.cnv_cp($tmp);
+ $display .= $prefix.$tmp;
$swish .= $tmp." ";
}
$prefix = "";
my $i = shift;
my $codepage = shift;
+ return if ($i > 0); # Excel doesn't support repeatable fields
+
my $out;
my $out_swish;
my $i = shift;
my $codepage = shift;
+ # XXX feed doesn't support repeatable fields, but they really
+ # should, This is a bug. It should be fixed!
+ return if ($i > 0);
+
my $out;
my $out_swish;