From: Adam Dickmeiss Date: Thu, 15 Nov 2007 08:28:08 +0000 (+0000) Subject: ICU utility prints sortkey as well X-Git-Tag: YAZ.3.0.18~23 X-Git-Url: http://jsfdemo.indexdata.com/cgi-bin?a=commitdiff_plain;h=1d6d4797cbc07f9a87074912f8dcb119628ae173;p=yaz-moved-to-github.git ICU utility prints sortkey as well --- diff --git a/util/yaz-icu.c b/util/yaz-icu.c index d11683c..b7542ad 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.13 2007-11-12 11:11:16 adam Exp $ + * $Id: yaz-icu.c,v 1.14 2007-11-15 08:28:08 adam Exp $ */ #if HAVE_CONFIG_H @@ -25,6 +25,7 @@ #include #include +#include /* commando line and config parameters */ static struct config_t { @@ -446,7 +447,7 @@ static void process_text_file(const struct config_t *p_config) exit (1); } - config.chain = icu_chain_xml_config(xml_node, 0, &status); + config.chain = icu_chain_xml_config(xml_node, 1, &status); if (config.chain && U_SUCCESS(status)) success = 1; @@ -470,25 +471,32 @@ static void process_text_file(const struct config_t *p_config) while (success && icu_chain_next_token(config.chain, &status)) { + WRBUF sw = wrbuf_alloc(); if (U_FAILURE(status)) success = 0; else { + const char *sortkey = icu_chain_token_sortkey(config.chain); + wrbuf_rewind(sw); + wrbuf_verbose_str(sw, sortkey, strlen(sortkey)); token_count++; if (p_config->xmloutput) fprintf(config.outfile, "\n", + " norm=\"%s\" display=\"%s\" sortkey=\"%s\"/>\n", token_count, line_count, icu_chain_token_norm(config.chain), - icu_chain_token_display(config.chain)); + icu_chain_token_display(config.chain), + wrbuf_cstr(sw)); else - fprintf(config.outfile, "%lu %lu '%s' '%s'\n", + fprintf(config.outfile, "%lu %lu '%s' '%s' '%s'\n", token_count, line_count, icu_chain_token_norm(config.chain), - icu_chain_token_display(config.chain)); + icu_chain_token_display(config.chain), + wrbuf_cstr(sw)); } + wrbuf_destroy(sw); } }