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