xmlNodePtr lang_node = NULL;
languages_node = xmlNewNode(NULL, (const xmlChar*)MA_TAG_ASSISTANT_LANGUAGE_SET);
-
- lang = strsep(&tmp_lang, ",");
- while (NULL != lang) {
- LOGD("lang (%s)", lang);
- lang_node = xmlNewNode(NULL, (const xmlChar*)MA_TAG_ASSISTANT_LANGUAGE);
- xmlNodeSetContent(lang_node, (const xmlChar*)lang);
- xmlAddChild(languages_node, lang_node);
+ if (languages_node) {
lang = strsep(&tmp_lang, ",");
+ while (NULL != lang) {
+ LOGD("lang (%s)", lang);
+ lang_node = xmlNewNode(NULL, (const xmlChar*)MA_TAG_ASSISTANT_LANGUAGE);
+ if (lang_node) {
+ xmlNodeSetContent(lang_node, (const xmlChar*)lang);
+ xmlAddChild(languages_node, lang_node);
+ }
+ lang = strsep(&tmp_lang, ",");
+ }
+ xmlAddChild(root, languages_node);
}
- xmlAddChild(root, languages_node);
FREE(tmp_free)
}
__insert_wakeup_word_from_metadata(root, md->value);
} else if (!strncmp(md->key, MA_METADATA_ASSISTANT_ICON_PATH, strlen(MA_METADATA_ASSISTANT_ICON_PATH))) {
cur = xmlNewNode(NULL, (const xmlChar*)MA_TAG_ASSISTANT_ICON_PATH);
- xmlNodeSetContent(cur, (const xmlChar*)md->value);
- xmlAddChild(root, cur);
+ if (cur) {
+ xmlNodeSetContent(cur, (const xmlChar*)md->value);
+ xmlAddChild(root, cur);
+ }
} else if (!strncmp(md->key, MA_METADATA_ASSISTANT_NAME, strlen(MA_METADATA_ASSISTANT_NAME))) {
cur = xmlNewNode(NULL, (const xmlChar*)MA_TAG_ASSISTANT_NAME);
- xmlNodeSetContent(cur, (const xmlChar*)md->value);
- xmlAddChild(root, cur);
+ if (cur) {
+ xmlNodeSetContent(cur, (const xmlChar*)md->value);
+ xmlAddChild(root, cur);
+ }
} else if (!strncmp(md->key, MA_METADATA_ASSISTANT_WAKEUP_ENGINE_APPID, strlen(MA_METADATA_ASSISTANT_WAKEUP_ENGINE_APPID))) {
cur = xmlNewNode(NULL, (const xmlChar*)MA_TAG_ASSISTANT_WAKEUP_ENGINE_APPID);
- xmlNodeSetContent(cur, (const xmlChar*)md->value);
- xmlAddChild(root, cur);
+ if (cur) {
+ xmlNodeSetContent(cur, (const xmlChar*)md->value);
+ xmlAddChild(root, cur);
+ }
} else if (!strncmp(md->key, MA_METADATA_ASSISTANT_CUSTOM_UI, strlen(MA_METADATA_ASSISTANT_CUSTOM_UI))) {
cur = xmlNewNode(NULL, (const xmlChar*)MA_TAG_ASSISTANT_CUSTOM_UI);
- xmlNodeSetContent(cur, (const xmlChar*)md->value);
- xmlAddChild(root, cur);
+ if (cur) {
+ xmlNodeSetContent(cur, (const xmlChar*)md->value);
+ xmlAddChild(root, cur);
+ }
} else if (!strncmp(md->key, MA_METADATA_ASSISTANT_VOICE_KEY_SUPPORT_MODE, strlen(MA_METADATA_ASSISTANT_VOICE_KEY_SUPPORT_MODE))) {
cur = xmlNewNode(NULL, (const xmlChar*)MA_TAG_ASSISTANT_VOICE_KEY_SUPPORT_MODE);
- xmlNodeSetContent(cur, (const xmlChar*)md->value);
- xmlAddChild(root, cur);
+ if (cur) {
+ xmlNodeSetContent(cur, (const xmlChar*)md->value);
+ xmlAddChild(root, cur);
+ }
} else if (!strncmp(md->key, MA_METADATA_ASSISTANT_VOICE_KEY_TAP_DURATION, strlen(MA_METADATA_ASSISTANT_VOICE_KEY_TAP_DURATION))) {
cur = xmlNewNode(NULL, (const xmlChar*)MA_TAG_ASSISTANT_VOICE_KEY_TAP_DURATION);
- xmlNodeSetContent(cur, (const xmlChar*)md->value);
- xmlAddChild(root, cur);
+ if (cur) {
+ xmlNodeSetContent(cur, (const xmlChar*)md->value);
+ xmlAddChild(root, cur);
+ }
} else if (!strncmp(md->key, MA_METADATA_ASSISTANT_AUDIO_DATA_PROCESSOR, strlen(MA_METADATA_ASSISTANT_AUDIO_DATA_PROCESSOR))) {
cur = xmlNewNode(NULL, (const xmlChar*)MA_TAG_ASSISTANT_AUDIO_DATA_PROCESSOR);
- xmlNodeSetContent(cur, (const xmlChar*)md->value);
- xmlAddChild(root, cur);
+ if (cur) {
+ xmlNodeSetContent(cur, (const xmlChar*)md->value);
+ xmlAddChild(root, cur);
+ }
} else {
LOGW("[WARNING] Unknown metadata type");
}
}
cur = xmlNewNode(NULL, (const xmlChar*)MA_TAG_ASSISTANT_APPID);
- xmlNodeSetContent(cur, (const xmlChar*)appid);
- xmlAddChild(root, cur);
+ if (cur) {
+ xmlNodeSetContent(cur, (const xmlChar*)appid);
+ xmlAddChild(root, cur);
+ }
LOGD("");
return 0;