From 3c3c561eb30a26911886ee33269ae41e39515b84 Mon Sep 17 00:00:00 2001
From: Andreas Jonsson <andreas.jonsson@kreablo.se>
Date: Sun, 5 Jan 2020 13:02:13 +0000
Subject: [PATCH] Bug 24348: Pass marc record to _passes_required_checks

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
---
 C4/Matcher.pm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/C4/Matcher.pm b/C4/Matcher.pm
index 84ceab2935..949920c7e1 100644
--- a/C4/Matcher.pm
+++ b/C4/Matcher.pm
@@ -726,7 +726,7 @@ sub get_matches {
         # get rid of any that don't meet the required checks
         $matches = {
             map {
-                _passes_required_checks( $source_record, $_, $self->{'required_checks'} )
+                _passes_required_checks( $source_record, $matches->{$_}->{'record'}, $self->{'required_checks'} )
                   ? ( $_ => $matches->{$_} )
                   : ()
             } keys %$matches
@@ -790,8 +790,7 @@ sub dump {
 }
 
 sub _passes_required_checks {
-    my ($source_record, $target_blob, $matchchecks) = @_;
-    my $target_record = MARC::Record->new_from_usmarc($target_blob); # FIXME -- need to avoid parsing record twice
+    my ($source_record, $target_record, $matchchecks) = @_;
 
     # no checks supplied == automatic pass
     return 1 if $#{ $matchchecks } == -1;
-- 
2.20.1