X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fcharsets.c;h=f0f1af03e62b15b126db5392abfde4e4af932fe1;hb=2d6ca35bd10a7cd633ab471ebbb146d25d8c29b0;hp=01995140b9c8703d05e472b670147fc3ac82025e;hpb=9e586c9793e3f4846f7307ac3a76537dec1aa43d;p=pazpar2-moved-to-github.git diff --git a/src/charsets.c b/src/charsets.c index 0199514..f0f1af0 100644 --- a/src/charsets.c +++ b/src/charsets.c @@ -160,23 +160,26 @@ int pp2_charset_fact_define(pp2_charset_fact_t pft, { int r; pp2_charset_t pct; - xmlChar *id; + xmlChar *id = 0; assert(xml_node); pct = pp2_charset_create_xml(xml_node); if (!pct) return -1; - id = xmlGetProp(xml_node, (xmlChar*) "id"); - if (id) - default_id = (const char *) id; if (!default_id) { - yaz_log(YLOG_WARN, "Missing id for icu_chain"); - pp2_charset_destroy(pct); - return -1; + id = xmlGetProp(xml_node, (xmlChar*) "id"); + if (!id) + { + yaz_log(YLOG_WARN, "Missing id for icu_chain"); + pp2_charset_destroy(pct); + return -1; + } + default_id = (const char *) id; } r = pp2_charset_fact_add(pft, pct, default_id); - xmlFree(id); + if (id) + xmlFree(id); return r; }