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));
}
}