From: Henri-Damien LAURENT Date: Tue, 6 Apr 2010 11:27:20 +0000 (+0200) Subject: BuildUnimarcHierarchies : Fixing infinite loop X-Git-Tag: v3.00.06~18 X-Git-Url: http://git.rot13.org/?a=commitdiff_plain;ds=sidebyside;h=c0af4d18c2eecb7507423e5de6f000662e36d03e;p=koha.git BuildUnimarcHierarchies : Fixing infinite loop When referenced authority in 5XX$3 would be the same as the current authid, the script would get into infinite loop --- diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm index 95e0655db1..7d9a2b4092 100644 --- a/C4/AuthoritiesMarc.pm +++ b/C4/AuthoritiesMarc.pm @@ -1060,6 +1060,7 @@ sub BuildUnimarcHierarchies{ foreach my $field ($record->field('5..')){ if ($field->subfield('5') && $field->subfield('5') eq 'g'){ my $subfauthid=_get_authid_subfield($field); + next if ($subfauthid eq $authid); my $parentrecord = GetAuthority($subfauthid); my $localresult=$hierarchies; my $trees;