Bug 27746: prevent regexp undefined warning when checking subfield contents ($oclc)
Some of the books have subfield "a" of field "035" absent
and it's possible to have such
(it doesn't says "Require" in the interface),
which causes "Use of uninitialized value $oclc in pattern match (m//)"
error.
Solved by screening regex with check for empty variables before the
match.
To reproduce:
1) Edit existing book or create a new one with empty marc
subfield "a" of field "035"
2) Use the search feature that will find it along with some other
books.
3) Check /var/log/koha/kohadev/plack-intranet-error.log to find
"Use of uninitialized value $oclc in pattern match (m//)" error.
4) Apply the patch.
5) Repeat the search and check the logs again to ensure
that error didn't appear again.
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
c30c8c7a53
commit
a34e1f9f0d
|
|
@ -671,7 +671,7 @@ sub GetNormalizedOCLCNumber {
|
|||
my @fields = $marcrecord->field('035');
|
||||
foreach my $field (@fields) {
|
||||
my $oclc = $field->subfield('a');
|
||||
if ($oclc =~ /OCoLC/) {
|
||||
if ($oclc && $oclc =~ /OCoLC/) {
|
||||
$oclc =~ s/\(OCoLC\)//;
|
||||
return $oclc;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue