From 5de284d28099719776d2462a7a3a1be83b0e7225 Mon Sep 17 00:00:00 2001 From: Piotr Ganicz Date: Tue, 16 Aug 2016 12:45:38 +0200 Subject: [PATCH] Prevent generating invalid manifest. This patch removes empty labels from manifest when generating. Change-Id: Iade7cbfefb7d282a6645d389b25c3bc713e5a87d --- src/wgt/step/pkgmgr/step_generate_xml.cc | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/wgt/step/pkgmgr/step_generate_xml.cc b/src/wgt/step/pkgmgr/step_generate_xml.cc index 262acb9..879c7fd 100644 --- a/src/wgt/step/pkgmgr/step_generate_xml.cc +++ b/src/wgt/step/pkgmgr/step_generate_xml.cc @@ -198,13 +198,15 @@ common_installer::Step::Status StepGenerateXml::GenerateApplicationCommonXml( } for (label_x* label : GListRange(app->label)) { - xmlTextWriterStartElement(writer, BAD_CAST "label"); - if (label->lang && strcmp(DEFAULT_LOCALE, label->lang) != 0) { - xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", - BAD_CAST label->lang); + if (label->name && strcmp(label->name, "") != 0) { + xmlTextWriterStartElement(writer, BAD_CAST "label"); + if (label->lang && strcmp(DEFAULT_LOCALE, label->lang) != 0) { + xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", + BAD_CAST label->lang); + } + xmlTextWriterWriteString(writer, BAD_CAST label->name); + xmlTextWriterEndElement(writer); } - xmlTextWriterWriteString(writer, BAD_CAST label->name); - xmlTextWriterEndElement(writer); } if (app->icon) { @@ -413,13 +415,15 @@ void StepGenerateXml::GenerateManifestElementAttributes( void StepGenerateXml::GenerateLangLabels(xmlTextWriterPtr writer) { for (label_x* label : GListRange(context_->manifest_data.get()->label)) { - xmlTextWriterStartElement(writer, BAD_CAST "label"); - if (label->lang && strcmp(DEFAULT_LOCALE, label->lang) != 0) { + if (label->name && strcmp(label->name, "") != 0) { + xmlTextWriterStartElement(writer, BAD_CAST "label"); + if (label->lang && strcmp(DEFAULT_LOCALE, label->lang) != 0) { xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang", - BAD_CAST label->lang); + BAD_CAST label->lang); + } + xmlTextWriterWriteString(writer, BAD_CAST label->name); + xmlTextWriterEndElement(writer); } - xmlTextWriterWriteString(writer, BAD_CAST label->name); - xmlTextWriterEndElement(writer); } } -- 2.7.4