From 4ee9759f32e0178388333eb9f07717a3ac17d767 Mon Sep 17 00:00:00 2001
From: Guillaume Rousse <guillaume.rousse@renater.fr>
Date: Thu, 29 Nov 2018 11:48:58 +0100
Subject: [PATCH] don't fail if element is missing

---
 lib/AccountManager/Metadata.pm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/lib/AccountManager/Metadata.pm b/lib/AccountManager/Metadata.pm
index e83ec95..e4524ba 100644
--- a/lib/AccountManager/Metadata.pm
+++ b/lib/AccountManager/Metadata.pm
@@ -138,12 +138,18 @@ sub parse {
                     my %names =
                         map { $_->getAttribute('xml:lang') => $_->textContent() }
                         @names;
-                    $data->{name} = $names{en} ? $names{en} : $names[0]->textContent();
+                    $data->{name} =
+                        $names{en} ? $names{en} :
+                        @names     ? $names[0]->textContent() :
+                        undef;
                     my @urls = $uiinfo->getChildrenByLocalName('InformationURL');
                     my %urls =
                         map { $_->getAttribute('xml:lang') => $_->textContent() }
                         @urls;
-                    $data->{url} = $urls{en} ? $urls{en} : $urls[0]->textContent();
+                    $data->{url} =
+                        $urls{en} ? $urls{en}           :
+                        @urls     ? $urls[0]->textContent() :
+                        undef;
                 }
 
             } elsif ($child->localname() eq 'Extensions') {
-- 
GitLab