[Koha-patches] [PATCH] fix crash introduced in previous patch
Galen Charlton
galen.charlton at liblime.com
Wed Jul 15 04:04:35 CEST 2009
In the previous patch,
- my @subf = $field->subfields;
- (defined @subf) or @subf = ();
is not equivalent to
+ my @subf = $field->subfields || ();
as, the results of $field->subields is interpeted in scalar
context, not list context, resutling in @subf containing
the number of subfields, not the subfield data itself, which
engenders the error
Can't use string ("1") as an ARRAY ref while "strict refs" in use
later on. Changing the operator to 'or' instead of '||'
fixes this.
Signed-off-by: Galen Charlton <galen.charlton at liblime.com>
---
cataloguing/additem.pl | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/cataloguing/additem.pl b/cataloguing/additem.pl
index 9509e43..f11380a 100755
--- a/cataloguing/additem.pl
+++ b/cataloguing/additem.pl
@@ -197,7 +197,7 @@ my ($branchtagfield, $branchtagsubfield) = &GetMarcFromKohaField("items.homebran
foreach my $field (@fields) {
next if ($field->tag()<10);
- my @subf = $field->subfields || ();
+ my @subf = $field->subfields or (); # don't use ||, as that forces $field->subfelds to be interpreted in scalar context
my %this_row;
# loop through each subfield
for my $i (0..$#subf) {
--
1.5.6.5
More information about the Koha-patches
mailing list