Comments on style etc. very appreciated, as usual.
Sébastien.
>From 90d55c6c36882a57d73030f053f70a11f2909187 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?S=C3=A9bastien=20Hinderer?= <[email protected]>
Date: Thu, 3 Sep 2009 20:11:09 +0200
Subject: [PATCH] Get rid of a few warnings in the bulkmarcimport script:
 C4/Biblio.pm, hunks #1, #2: a warning occurring in NoZebra configurations.
 C4/Biblio.pm hunk #3: warning occurring in Unimarc MARC flavour.
 misc/migration_tools/bulkmarcimport.pl hunk #1: warning occurring
 when no default format is specified on command-line with -m switch.
Content-Type: text/plain; charset="utf-8"

---
 C4/Biblio.pm                           |   10 +++++-----
 misc/migration_tools/bulkmarcimport.pl |    2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/C4/Biblio.pm b/C4/Biblio.pm
index 04d404c..cdb119f 100644
--- a/C4/Biblio.pm
+++ b/C4/Biblio.pm
@@ -2669,7 +2669,8 @@ sub _AddBiblioNoZebra {
                 foreach (split / /,$line) {
                     next unless $_; # skip  empty values (multiple spaces)
                     # if the entry is already here, improve weight
-                    if ($result{'__RAW__'}->{"$_"} =~ /$biblionumber,\Q$title\E\-(\d+);/) { 
+                    my $tmpstr = $result{'__RAW__'}->{"$_"} || "";
+                    if ($tmpstr =~ /$biblionumber,\Q$title\E\-(\d+);/) {
                         my $weight=$1+1;
                         $result{'__RAW__'}->{"$_"} =~ s/$biblionumber,\Q$title\E\-(\d+);//;
                         $result{'__RAW__'}->{"$_"} .= "$biblionumber,$title-$weight;";
@@ -2680,7 +2681,7 @@ sub _AddBiblioNoZebra {
                         # it exists
                         if ($existing_biblionumbers) {
                             $result{'__RAW__'}->{"$_"} =$existing_biblionumbers;
-                            my $weight=$1+1;
+                            my $weight = ($1 ? $1 : 0) + 1;
                             $result{'__RAW__'}->{"$_"} =~ s/$biblionumber,\Q$title\E\-(\d+);//;
                             $result{'__RAW__'}->{"$_"} .= "$biblionumber,$title-$weight;";
                         # create a new ligne for this entry
@@ -3271,9 +3272,8 @@ sub ModBiblioMarc {
 
     # deal with UNIMARC field 100 (encoding) : create it if needed & set encoding to unicode
     if ( $encoding eq "UNIMARC" ) {
-        my $string;
-        if ( length($record->subfield( 100, "a" )) == 35 ) {
-            $string = $record->subfield( 100, "a" );
+        my $string = $record->subfield( 100, "a" );
+        if ( ($string) && ( length($record->subfield( 100, "a" )) == 35 ) ) {
             my $f100 = $record->field(100);
             $record->delete_field($f100);
         }
diff --git a/misc/migration_tools/bulkmarcimport.pl b/misc/migration_tools/bulkmarcimport.pl
index b8f5500..a6611b1 100755
--- a/misc/migration_tools/bulkmarcimport.pl
+++ b/misc/migration_tools/bulkmarcimport.pl
@@ -131,7 +131,7 @@ print "Characteristic MARC flavour: $marcFlavour\n" if $verbose;
 my $starttime = gettimeofday;
 my $batch;
 my $fh = IO::File->new($input_marc_file); # don't let MARC::Batch open the file, as it applies the ':utf8' IO layer
-if ($format =~ /XML/i) {
+if (defined $format && $format =~ /XML/i) {
     # ugly hack follows -- MARC::File::XML, when used by MARC::Batch,
     # appears to try to convert incoming XML records from MARC-8
     # to UTF-8.  Setting the BinaryEncoding key turns that off
-- 
1.6.3.3

_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha.org/mailman/listinfo/koha-patches

Reply via email to