From 2a30610aba1ac6b5aec0db9df561b06a7346ac11 Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Thu, 12 Feb 2015 15:23:07 +0100 Subject: [PATCH] [SIGNED_OFF] Bug 13705: Prevent a warning in _fix_unimarc_100 Signed-off-by: Bernardo Gonzalez Kriegel --- C4/ZebraIndex.pm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/C4/ZebraIndex.pm b/C4/ZebraIndex.pm index 19b5634..20ed64a 100644 --- a/C4/ZebraIndex.pm +++ b/C4/ZebraIndex.pm @@ -379,8 +379,8 @@ sub _fix_unimarc_100 { my $marc = shift; my $string; - if ( length( $marc->subfield( 100, "a" ) ) == 36 ) { - $string = $marc->subfield( 100, "a" ); + my $string = $marc->subfield(100, 'a'); + if ( defined($string) and length($string) == 36 ) { my $f100 = $marc->field(100); $marc->delete_field($f100); } else { @@ -389,7 +389,9 @@ sub _fix_unimarc_100 { $string = sprintf( "%-*s", 35, $string ); } substr( $string, 22, 6, "frey50" ); - unless ( length( $marc->subfield( 100, "a" ) ) == 36 ) { + + my $sf100a = $marc->subfield(100, 'a'); + unless ( defined($sf100a) and length($sf100a) == 36 ) { $marc->delete_field( $marc->field(100) ); $marc->insert_grouped_field( MARC::Field->new( 100, "", "", "a" => $string ) ); } -- 1.9.1