Prevent generating invalid manifest. 93/84093/2
authorPiotr Ganicz <p.ganicz@samsung.com>
Tue, 16 Aug 2016 10:45:38 +0000 (12:45 +0200)
committerPiotr Ganicz <p.ganicz@samsung.com>
Tue, 16 Aug 2016 14:41:11 +0000 (07:41 -0700)
This patch removes empty labels from manifest when generating.

Change-Id: Iade7cbfefb7d282a6645d389b25c3bc713e5a87d

src/wgt/step/pkgmgr/step_generate_xml.cc

index 262acb9..879c7fd 100644 (file)
@@ -198,13 +198,15 @@ common_installer::Step::Status StepGenerateXml::GenerateApplicationCommonXml(
   }
 
   for (label_x* label : GListRange<label_x*>(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<label_x*>(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);
   }
 }