Version 5.14.8
[yaz-moved-to-github.git] / util / yaz-icu.c
index 369982a..ac7806a 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2013 Index Data
+ * Copyright (C) Index Data
  * See the file LICENSE for details.
  */
 
@@ -26,6 +26,7 @@
 
 #include <yaz/icu.h>
 #include <yaz/wrbuf.h>
+#include <yaz/backtrace.h>
 
 /* commando line and config parameters */
 struct config_t {
@@ -478,9 +479,11 @@ static void process_text_file(struct config_t *p_config)
             else
             {
                 size_t start, len;
+                const char *org_string = 0;
                 const char *sortkey = icu_chain_token_sortkey(p_config->chain);
 
-                icu_chain_get_org_info(p_config->chain, &start, &len);
+                icu_chain_get_org_info2(p_config->chain, &start, &len,
+                                        &org_string);
                 wrbuf_rewind(sw);
                 wrbuf_puts_escaped(sw, sortkey);
                 token_count++;
@@ -524,6 +527,12 @@ static void process_text_file(struct config_t *p_config)
                     {
                         fprintf(p_config->outfile, " %ld+%ld",
                                 (long) start, (long) len);
+                        fputc(' ', p_config->outfile);
+                        fwrite(org_string, 1, start, p_config->outfile);
+                        fputc('*', p_config->outfile);
+                        fwrite(org_string + start, 1, len, p_config->outfile);
+                        fputc('*', p_config->outfile);
+                        fputs(org_string + start + len, p_config->outfile);
                     }
                     fprintf(p_config->outfile, "\n");
                 }
@@ -552,6 +561,7 @@ int main(int argc, char **argv)
 #if YAZ_HAVE_ICU
     struct config_t config;
 
+    yaz_enable_panic_backtrace(*argv);
     read_params(argc, argv, &config);
 
     if (config.conffile && strlen(config.conffile))