From: Adam Dickmeiss Date: Thu, 1 Mar 2012 14:17:00 +0000 (+0100) Subject: record_conv: proper diagnostic for unhandled types X-Git-Tag: v4.2.28~6 X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=commitdiff_plain;h=b2d8fc833e5f604df069deb5b16a76b6e03a0e61;ds=sidebyside record_conv: proper diagnostic for unhandled types Thanks to Hudson for telling me. --- diff --git a/src/record_conv.c b/src/record_conv.c index c6ce964..3caf06c 100644 --- a/src/record_conv.c +++ b/src/record_conv.c @@ -495,14 +495,17 @@ int yaz_record_conv_configure(yaz_record_conv_t p, const xmlNode *ptr) { wrbuf_rewind(p->wr_error); info = t->construct(p, ptr, p->path, p->wr_error); - if (info) + + if (info || wrbuf_len(p->wr_error)) break; + /* info== 0 and no error reported , ie not handled by it */ } if (!info) { - wrbuf_printf(p->wr_error, "Element : expected " - " or element, got <%s>" - , ptr->name); + if (wrbuf_len(p->wr_error) == 0) + wrbuf_printf(p->wr_error, "Element : expected " + " or element, got <%s>" + , ptr->name); return -1; } r = (struct yaz_record_conv_rule *) nmem_malloc(p->nmem, sizeof(*r));