Bug 12229: when exporting MARC records (as ISO2709), refuse to output records that would be longer than the MARC limit

Test:
1. Edit a bib record, add 100.000 chars text to 500a
2. Go to Tools -> Export data (or run tools/export.pl on
   the command line)
3. Verify that exporting as XML includes the record
4. Verify that exporting as MARC does not include the record,
   and that you get the following warning:

export.pl: record (number 2025) length 102668 is larger than the MARC spec allows (99999 bytes) at...

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Work as described. No errors

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 1f72a1c2dd)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Stéphane Delaune 2014-05-12 16:58:14 +02:00 committed by Fridolin Somers
parent f1f566b771
commit 55350cb463
1 changed files with 5 additions and 0 deletions

View File

@ -394,6 +394,11 @@ if ( $op eq "export" ) {
print "\n";
}
else {
my (@result_build_tag) = MARC::File::USMARC::_build_tag_directory($record);
if ($result_build_tag[2] > 99999) {
warn "record (number $recordid) length ".$result_build_tag[2]." is larger than the MARC spec allows (99999 bytes)";
next;
}
print $record->as_usmarc();
}
}