From b885f2efa372399072637b2ee453f94e7d4c24e2 Mon Sep 17 00:00:00 2001 From: christophe croullebois Date: Tue, 22 May 2012 13:59:33 +0200 Subject: [PATCH 1/1] Bug 8136 Changes the expected lenght of 100$a in rebuild_zebra.pl In rebuild_zebra.pl, if we are in "unimarc" ("marcflavour" syspref), the sub "fix_unimarc_100" is called and checks if 100$a lenght is equal to 35. If it is not the case, the sub inserts the localtime and more, so we loose the datas in reindexing. The standart lenght is 36. I have just changed 35 to 36. --- misc/migration_tools/rebuild_zebra.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/migration_tools/rebuild_zebra.pl b/misc/migration_tools/rebuild_zebra.pl index 655b6d4..f765d00 100755 --- a/misc/migration_tools/rebuild_zebra.pl +++ b/misc/migration_tools/rebuild_zebra.pl @@ -562,7 +562,7 @@ sub fix_unimarc_100 { my $marc = shift; my $string; - if ( length($marc->subfield( 100, "a" )) == 35 ) { + if ( length($marc->subfield( 100, "a" )) == 36 ) { $string = $marc->subfield( 100, "a" ); my $f100 = $marc->field(100); $marc->delete_field($f100); @@ -573,7 +573,7 @@ sub fix_unimarc_100 { $string = sprintf( "%-*s", 35, $string ); } substr( $string, 22, 6, "frey50" ); - unless ( length($marc->subfield( 100, "a" )) == 35 ) { + unless ( length($marc->subfield( 100, "a" )) == 36 ) { $marc->delete_field($marc->field(100)); $marc->insert_grouped_field(MARC::Field->new( 100, "", "", "a" => $string )); } -- 1.7.9.5