X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Funtrans.c;h=d51c25c547bd9c864a274d640993b0a208fc4254;hb=6f7dfe3c3f09f7104c1ae7616c9d207edeab308d;hp=fce23728cc77dedd97cfd54452b05b280aae4634;hpb=89d3a004b7c651fd5673abfc192e1472dc4d4197;p=idzebra-moved-to-github.git diff --git a/index/untrans.c b/index/untrans.c index fce2372..d51c25c 100644 --- a/index/untrans.c +++ b/index/untrans.c @@ -1,4 +1,4 @@ -/* $Id: untrans.c,v 1.2 2007-01-15 15:10:17 adam Exp $ +/* $Id: untrans.c,v 1.4 2007-10-30 19:17:15 adam Exp $ Copyright (C) 1995-2007 Index Data ApS @@ -31,11 +31,11 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA void zebra_term_untrans(ZebraHandle zh, int reg_type, char *dst, const char *src) { + zebra_map_t zm = zebra_map_get(zh->reg->zebra_maps, reg_type); int len = 0; while (*src) { - const char *cp = zebra_maps_output(zh->reg->zebra_maps, - reg_type, &src); + const char *cp = zebra_maps_output(zm, &src); if (!cp) { if (len < IT_MAX_WORD-1) @@ -71,7 +71,10 @@ void zebra_term_untrans_iconv(ZebraHandle zh, NMEM stream, int reg_type, if (ret == (size_t)(-1)) len = 0; else + { + yaz_iconv (zh->iconv_from_utf8, 0, 0, &outbuf, &outleft); len = outbuf - term_dst; + } *dst = nmem_malloc(stream, len + 1); if (len > 0) memcpy (*dst, term_dst, len);