From fa11bb8f88445d43bbd95f5526ba64be1c870a5f Mon Sep 17 00:00:00 2001 From: Jared Camins-Esakov Date: Fri, 7 Sep 2012 10:58:53 -0400 Subject: [PATCH] [SIGNED-OFF] Bug 8447: Make sure we have enough subfields for broader_headings Thanks to wajasu for providing the debugging information, as I cannot seem to duplicate the problem, even seeing where it could come from. Fix corrects cases where upon save, a software error complaing about indicators being wrong as a side effect of a poorly autogenerated biblio/authority record. Behvior with this fix causes existing bilio data to to be preserved while linking to the authority via subtag 9. Signed-off-by: wajasu --- C4/Linker/Default.pm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/C4/Linker/Default.pm b/C4/Linker/Default.pm index 653dabd..445b408 100644 --- a/C4/Linker/Default.pm +++ b/C4/Linker/Default.pm @@ -56,17 +56,16 @@ sub get_link { if ( !defined $authid && $self->{'broader_headings'} ) { my $field = $heading->field(); - my @subfields = $field->subfields(); + my @subfields = grep { $_->[0] ne '9' } $field->subfields(); if ( scalar @subfields > 1 ) { pop @subfields; - $field->replace_with( + $field = MARC::Field->new( $field->tag, $field->indicator(1), $field->indicator(2), - map { $_[0] => $_[1] } @subfields - ) - ); + map { $_->[0] => $_->[1] } @subfields + ); ( $authid, $fuzzy ) = $self->get_link( C4::Heading->new_from_bib_field($field), $behavior ); -- 1.7.11.4