X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=util%2Fyaz-icu.c;h=00b390da985563f3e06de700a3b48a8e6db24ae3;hb=91c35d653aea231aff9efc3eef6a6ab6662dd129;hp=dd972493866f57b166c76aa57e9e7b2eebc8a5cd;hpb=fffad7b88b5fcc5ce744151034d1df379919d6d6;p=yaz-moved-to-github.git diff --git a/util/yaz-icu.c b/util/yaz-icu.c index dd97249..00b390d 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.8 2007-11-07 09:50:24 adam Exp $ + * $Id: yaz-icu.c,v 1.12 2007-11-08 18:02:04 adam Exp $ */ #if HAVE_CONFIG_H @@ -16,20 +16,22 @@ #include - -#if HAVE_ICU +#if YAZ_HAVE_ICU #include #include +#include +#include +#include -#include +#include /* commando line and config parameters */ static struct config_t { char conffile[1024]; char print[1024]; int xmloutput; - struct icu_chain * chain; + yaz_icu_chain_t chain; FILE * infile; FILE * outfile; } config; @@ -136,7 +138,8 @@ static void print_icu_converters(const struct config_t *p_config) ucnv_getDefaultName()); } - for(i=0;ixmloutput) fprintf(config.outfile, "\n", ucnv_getAvailableName(i)); @@ -171,7 +174,8 @@ static void print_icu_transliterators(const struct config_t *p_config) fprintf(config.outfile, " %s", buf); } - if (p_config->xmloutput){ + if (p_config->xmloutput) + { fprintf(config.outfile, "\n"); } else @@ -268,8 +272,8 @@ static void print_icu_xml_locales(const struct config_t *p_config) count = uloc_countAvailable() ; - if (p_config->xmloutput){ - + if (p_config->xmloutput) + { fprintf(config.outfile, "\n", count, uloc_getDefault(), ucol_countAvailable()); } @@ -343,7 +347,8 @@ static void print_icu_xml_locales(const struct config_t *p_config) &status); - if (p_config->xmloutput){ + if (p_config->xmloutput) + { fprintf(config.outfile, "\n"); } - else if (1 == p_config->xmloutput){ + else if (1 == p_config->xmloutput) + { fprintf(config.outfile, "%s", uloc_getAvailable(i)); fprintf(config.outfile, " | "); if (strlen(name_str)) @@ -385,7 +391,8 @@ static void print_icu_xml_locales(const struct config_t *p_config) else fprintf(config.outfile, "\n"); - if(U_FAILURE(status)) { + if(U_FAILURE(status)) + { fprintf(stderr, "ICU Error: %d %s\n", status, u_errorName(status)); exit(status); } @@ -425,7 +432,6 @@ 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; @@ -433,20 +439,14 @@ static void process_text_file(const struct config_t *p_config) UErrorCode status = U_ZERO_ERROR; int success = 0; - if (! xml_node) { + if (! xml_node) + { printf("Could not parse XML config file '%s' \n", config.conffile); exit (1); } - if (!xml_locale || !strlen((const char *) xml_locale)) - return; - - config.chain = icu_chain_xml_config(xml_node, (const char *) xml_locale, 0, - &status); - - xmlFree(xml_locale); - + config.chain = icu_chain_xml_config(xml_node, 0, &status); if (config.chain && U_SUCCESS(status)) success = 1; @@ -455,8 +455,6 @@ static void process_text_file(const struct config_t *p_config) config.conffile); exit (1); } - - if (p_config->xmloutput) fprintf(config.outfile, @@ -470,7 +468,8 @@ static void process_text_file(const struct config_t *p_config) success = icu_chain_assign_cstr(config.chain, line, &status); line_count++; - while (success && icu_chain_next_token(config.chain, &status)){ + while (success && icu_chain_next_token(config.chain, &status)) + { if (U_FAILURE(status)) success = 0; else { @@ -505,13 +504,13 @@ static void process_text_file(const struct config_t *p_config) free(line); } -#endif /* HAVE_ICU */ +#endif /* YAZ_HAVE_ICU */ int main(int argc, char **argv) { -#if HAVE_ICU +#if YAZ_HAVE_ICU read_params(argc, argv, &config); @@ -521,14 +520,14 @@ int main(int argc, char **argv) if (config.print && strlen(config.print)) print_info(&config); -#else /* HAVE_ICU */ +#else /* YAZ_HAVE_ICU */ printf("ICU not available on your system.\n" "Please install libicu36-dev and icu-doc or similar, " "re-configure and re-compile\n"); -#endif /* HAVE_ICU */ +#endif /* YAZ_HAVE_ICU */ return(0); }