X-Git-Url: http://git.indexdata.com/?p=pazpar2-moved-to-github.git;a=blobdiff_plain;f=src%2Fcharsets.c;h=b36d7e2573214462393857098517b29f284bc531;hp=61b6f198df04578f617b97802f4d3cdced1609e8;hb=c1de9c944c1383e173558b15bc693bd0eae2fba5;hpb=05f5704b82cabf4d6cdd775cf462ded983d62a32 diff --git a/src/charsets.c b/src/charsets.c index 61b6f19..b36d7e2 100644 --- a/src/charsets.c +++ b/src/charsets.c @@ -29,6 +29,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #include #include +#include #include #include #include @@ -166,11 +167,10 @@ int pp2_charset_fact_add(pp2_charset_fact_t pft, } int pp2_charset_fact_define(pp2_charset_fact_t pft, - xmlNode *xml_node, const char *default_id) + xmlNode *xml_node, const char *id) { int r; pp2_charset_t pct; - xmlChar *id = 0; assert(xml_node); @@ -190,20 +190,17 @@ int pp2_charset_fact_define(pp2_charset_fact_t pft, pct = pp2_charset_create_xml(xml_node); if (!pct) return -1; - if (!default_id) + if (!id) { - id = xmlGetProp(xml_node, (xmlChar*) "id"); + id = yaz_xml_get_prop(xml_node, "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); - if (id) - xmlFree(id); + r = pp2_charset_fact_add(pft, pct, id); return r; }