[Koha-patches] [PATCH] (bug #3183) fix the SetMarcUnicodeFlag function
Nahuel ANGELINETTI
nahuel.angelinetti at biblibre.com
Mon May 4 11:15:26 CEST 2009
This patch fix the funciton SetMarcUnicodeFlag for UNIMARC support, now the function will fix the length of the field, and set encoding as "50 " instead of "5050".
---
C4/Charset.pm | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/C4/Charset.pm b/C4/Charset.pm
index 4b73ceb..06c2d93 100644
--- a/C4/Charset.pm
+++ b/C4/Charset.pm
@@ -238,7 +238,13 @@ sub SetMarcUnicodeFlag {
} elsif ($marc_flavour eq "UNIMARC") {
if (my $field = $marc_record->field('100')) {
my $sfa = $field->subfield('a');
- substr($sfa, 26, 4) = '5050';
+
+ my $subflength = 36;
+ # fix the length of the field
+ $sfa = substr $sfa, 0, $subflength if (length($sfa) > $subflength);
+ $sfa = sprintf( "%-*s", 35, $sfa ) if (length($sfa) < $subflength);
+
+ substr($sfa, 26, 4) = '50 ';
$field->update('a' => $sfa);
}
}
--
1.6.0.4
More information about the Koha-patches
mailing list