From 8ad8eacadfcbff966e7a14151f297953ec7cc11d Mon Sep 17 00:00:00 2001 From: Michael Pyne Date: Thu, 20 Dec 2012 22:29:04 -0500 Subject: [PATCH] kde-projects: Improve error message somewhat. This improves the error message encountered with mal-formed XML in the kde-projects database, at least a little bit. BUG:304813 FIXED-IN:1.16 --- kdesrc-build | 9 +++++++-- modules/ksb/KDEXMLReader.pm | 4 +++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/kdesrc-build b/kdesrc-build index 9c3d932..09d7490 100755 --- a/kdesrc-build +++ b/kdesrc-build @@ -860,9 +860,14 @@ sub expandXMLModules return @xmlResults; }; - my @results = map { &$filter($_) } (@modules); + # eval in case the XML processor throws an exception. + undef $@; + my @results = eval { map { &$filter($_) } (@modules) }; - if ($repositoryMetadataRequired) { + if ($@) { + croak_runtime("The XML for the KDE Project database could not be understood: $@"); + } + elsif ($repositoryMetadataRequired) { my $repoMetadataModule = ksb::Module->new($ctx, 'kde-build-metadata'); $repoMetadataModule->setScmType('metadata'); diff --git a/modules/ksb/KDEXMLReader.pm b/modules/ksb/KDEXMLReader.pm index 6930a4a..e46b44d 100644 --- a/modules/ksb/KDEXMLReader.pm +++ b/modules/ksb/KDEXMLReader.pm @@ -70,7 +70,9 @@ sub getModulesForProject }, ); - my $result = $parser->parse($self->inputHandle()); + # Will die if the XML is not well-formed. + $parser->parse($self->inputHandle()); + return @modules; }