Improve error reporting for ICU chains YAZ-707
authorAdam Dickmeiss <adam@indexdata.dk>
Fri, 22 Nov 2013 13:12:07 +0000 (14:12 +0100)
committerAdam Dickmeiss <adam@indexdata.dk>
Fri, 22 Nov 2013 13:12:07 +0000 (14:12 +0100)
Report config element+rule when ICU status is "failure".

src/icu_chain.c
util/yaz-icu.c

index ffbbb70..5ef9530 100644 (file)
@@ -291,7 +291,7 @@ struct icu_chain *icu_chain_xml_config(const xmlNode *xml_node,
 
         if (!rule && strcmp((const char *) node->name, "display"))
         {
-            yaz_log(YLOG_WARN, "Missing attribute rule for element %s",
+            yaz_log(YLOG_WARN, "Missing attribute 'rule' for element %s",
                     (const char *) node->name);
             no_errors++;
             continue;
@@ -346,6 +346,9 @@ struct icu_chain *icu_chain_xml_config(const xmlNode *xml_node,
         }
         if (step && U_FAILURE(*status))
         {
+            yaz_log(YLOG_WARN, "ICU Error %d %s for element %s, rule %s",
+                    *status, u_errorName(*status), node->name, rule ?
+                    rule : "");
             no_errors++;
             break;
         }
index ceff120..369982a 100644 (file)
@@ -454,8 +454,6 @@ static void process_text_file(struct config_t *p_config)
     {
         printf("Could not set up ICU chain from config file '%s' \n",
                 p_config->conffile);
-        if (!U_SUCCESS(status))
-            printf("ICU Error: %d %s\n", status, u_errorName(status));
         exit(1);
     }