Fixed missing yaz_iconv reset call in odr_iconv_string in decoding phase.
[yaz-moved-to-github.git] / src / odr_oct.c
index c4ef168..5dd02bb 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1995-2007, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: odr_oct.c,v 1.12 2007-05-02 11:31:59 adam Exp $
+ * $Id: odr_oct.c,v 1.13 2007-05-21 11:51:01 adam Exp $
  */
 /**
  * \file odr_oct.c
@@ -198,6 +198,13 @@ int odr_iconv_string(ODR o, char **p, int opt, const char *name)
                 odr_seterror(o, ODATA, 45);
                 return 0;
             }
+            ret = yaz_iconv(o->op->iconv_handle, 0, 0,
+                            &outbuf, &outleft);
+            if (ret == (size_t)(-1))
+            {
+                odr_seterror(o, ODATA, 45);
+                return 0;
+            }
             inleft = outbuf - (char*) *p;
             
             (*p)[inleft] = '\0';    /* null terminate it */