From 995bee72d949daa94ec5c49ecd120aa096efcd1d Mon Sep 17 00:00:00 2001 From: Jared Camins-Esakov Date: Tue, 13 Nov 2012 11:02:24 -0500 Subject: [PATCH] Bug 9070: authority searches in auth_finder error out GetAuthType returns a hash and not a reference to a hash. When you try to treat a regular hash like a reference, as is the case in auth_finder when using authority records imported into Koha from elsewhere, bad things happen. To test: 1) You will need records imported from elsewhere. 2) Use the authority control plugin in a bib record to search for one of those headings. 3) Observe you get a nasty error. 4) Apply patch. 5) Repeat step 2. 6) Observe the error is gone. 7) Sign off. --- C4/AuthoritiesMarc.pm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm index db340ba..8695a2e 100644 --- a/C4/AuthoritiesMarc.pm +++ b/C4/AuthoritiesMarc.pm @@ -358,10 +358,12 @@ sub SearchAuthorities { $reported_tag .= '$' . $_->[0] . $_->[1]; } } - my $thisauthtype = GetAuthType(GetAuthTypeCode($authid)); - $thisauthtype |= GetAuthType($authtypecode) if $authtypecode; - $newline{authtype} = defined ($thisauthtype) ? - $thisauthtype->{'authtypetext'} : ''; + my %thisauthtype = GetAuthType(GetAuthTypeCode($authid)); + unless (defined %thisauthtype) { + %thisauthtype = GetAuthType($authtypecode) if $authtypecode; + } + $newline{authtype} = defined (%thisauthtype) ? + $thisauthtype{'authtypetext'} : ''; $newline{summary} = $summary; $newline{even} = $counter % 2; $newline{reported_tag} = $reported_tag; -- 1.7.9.5