X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=index%2Fextract.c;h=60abc44a11414f9841e130a5b9dcb3a4abc7320d;hp=ed67159779c948770e6adbab32222a49ec3d4486;hb=750773f6bb16065235a0800fb28eca6a4997a925;hpb=a9d7bad9422b79eb059d4c354c24880e557f28e7 diff --git a/index/extract.c b/index/extract.c index ed67159..60abc44 100644 --- a/index/extract.c +++ b/index/extract.c @@ -1336,7 +1336,6 @@ void zebra_it_key_str_dump(ZebraHandle zh, struct it_key *key, const char *str, size_t slen, NMEM nmem, int level) { char keystr[200]; /* room for zints to print */ - char *dst_term = 0; int ord = CAST_ZINT_TO_INT(key->mem[0]); const char *index_type; int i; @@ -1345,8 +1344,6 @@ void zebra_it_key_str_dump(ZebraHandle zh, struct it_key *key, zebraExplain_lookup_ord(zh->reg->zei, ord, &index_type, 0/* db */, &string_index); assert(index_type); - zebra_term_untrans_iconv(zh, nmem, index_type, - &dst_term, str); *keystr = '\0'; for (i = 0; i < key->len; i++) { @@ -1375,11 +1372,23 @@ void zebra_it_key_str_dump(ZebraHandle zh, struct it_key *key, } yaz_log(level, "%s%s %s %s", keystr, index_type, string_index, dst_buf); - } else - yaz_log(level, "%s%s %s \"%s\"", keystr, index_type, - string_index, dst_term); + { + char *dst_term = 0; + zebra_term_untrans_iconv(zh, nmem, index_type, &dst_term, str); + if (dst_term) + yaz_log(level, "%s%s %s \"%s\"", keystr, index_type, + string_index, dst_term); + else + { + WRBUF w = wrbuf_alloc(); + wrbuf_write_escaped(w, str, strlen(str)); + yaz_log(level, "%s%s %s %s", keystr, index_type, + string_index, wrbuf_cstr(w)); + wrbuf_destroy(w); + } + } } void extract_rec_keys_log(ZebraHandle zh, int is_insert,