X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=util%2Fyaz-icu.c;h=ff249e03cc4d3e565c9b180a8b770ca6121ca8b3;hb=71509ab1affd957fa0af7c7536105988a7ccd93d;hp=d929229c1415a704245fa345baeadf85023e7bd3;hpb=c168c38b0beb83bca23c72d9203cc796a374bfac;p=yaz-moved-to-github.git diff --git a/util/yaz-icu.c b/util/yaz-icu.c index d929229..ff249e0 100644 --- a/util/yaz-icu.c +++ b/util/yaz-icu.c @@ -2,7 +2,7 @@ * Copyright (C) 1995-2007, Index Data ApS * See the file LICENSE for details. * - * $Id: yaz-icu.c,v 1.2 2007-10-22 17:32:08 adam Exp $ + * $Id: yaz-icu.c,v 1.7 2007-11-06 10:27:30 adam Exp $ */ #if HAVE_CONFIG_H @@ -57,8 +57,6 @@ void print_option_error(const struct config_t *p_config) " \n" " \n" " \n" - " \n" - " \n" "\n" ); exit(1); @@ -428,6 +426,7 @@ static void process_text_file(const struct config_t *p_config) xmlDoc *doc = xmlParseFile(config.conffile); xmlNode *xml_node = xmlDocGetRootElement(doc); + xmlChar *xml_locale = xmlGetProp(xml_node, (xmlChar *) "locale"); long unsigned int token_count = 0; long unsigned int line_count = 0; @@ -441,8 +440,14 @@ static void process_text_file(const struct config_t *p_config) exit (1); } + if (!xml_locale || !strlen((const char *) xml_locale)) + return; - config.chain = icu_chain_xml_config(xml_node, &status); + config.chain = icu_chain_xml_config(xml_node, (const char *) xml_locale, 0, + &status); + + xmlFree(xml_locale); + if (config.chain && U_SUCCESS(status)) success = 1; @@ -452,6 +457,8 @@ static void process_text_file(const struct config_t *p_config) exit (1); } + + if (p_config->xmloutput) fprintf(config.outfile, "\n" @@ -475,14 +482,14 @@ static void process_text_file(const struct config_t *p_config) " norm=\"%s\" display=\"%s\"/>\n", token_count, line_count, - icu_chain_get_norm(config.chain), - icu_chain_get_display(config.chain)); + icu_chain_token_norm(config.chain), + icu_chain_token_display(config.chain)); else fprintf(config.outfile, "%lu %lu '%s' '%s'\n", token_count, line_count, - icu_chain_get_norm(config.chain), - icu_chain_get_display(config.chain)); + icu_chain_token_norm(config.chain), + icu_chain_token_display(config.chain)); } }