* See the file LICENSE for details.
* Sebastian Hammer, Adam Dickmeiss
*
- * $Id: odr_oct.c,v 1.17 2002-07-25 12:51:08 adam Exp $
+ * $Id: odr_oct.c,v 1.19 2002-09-24 08:05:41 adam Exp $
*/
#if HAVE_CONFIG_H
#include <config.h>
if (o->direction == ODR_ENCODE)
{
t->buf = 0;
-#if HAVE_ICONV_H
- if (o->op->iconv_handle != (iconv_t)(-1))
+
+ if (o->op->iconv_handle != 0)
{
size_t inleft = strlen(*p);
char *inbuf = *p;
size_t outleft = 4 * inleft + 2;
- char *outbuf = odr_malloc (o, outleft);
+ char *outbuf = (char *) odr_malloc (o, outleft);
size_t ret;
- t->buf = outbuf;
+ t->buf = (unsigned char *) outbuf;
- ret = iconv (o->op->iconv_handle, &inbuf, &inleft,
- &outbuf, &outleft);
+ ret = yaz_iconv (o->op->iconv_handle, &inbuf, &inleft,
+ &outbuf, &outleft);
if (ret == (size_t)(-1))
{
o->error = ODATA;
}
t->size = t->len = outbuf - (char*) t->buf;
}
-#endif
if (!t->buf)
{
t->buf = (unsigned char *) *p;
if (o->direction == ODR_DECODE)
{
*p = 0;
-#if HAVE_ICONV_H
- if (o->op->iconv_handle != (iconv_t)(-1))
+
+ if (o->op->iconv_handle != 0)
{
size_t inleft = t->len;
- char *inbuf = t->buf;
+ char *inbuf = (char *) t->buf;
size_t outleft = 4 * inleft + 2;
- char *outbuf = odr_malloc (o, outleft);
+ char *outbuf = (char *) odr_malloc (o, outleft);
size_t ret;
*p = outbuf;
- ret = iconv (o->op->iconv_handle, &inbuf, &inleft,
- &outbuf, &outleft);
+ ret = yaz_iconv (o->op->iconv_handle, &inbuf, &inleft,
+ &outbuf, &outleft);
if (ret == (size_t)(-1))
{
o->error = ODATA;
(*p)[inleft] = '\0'; /* null terminate it */
}
-#endif
if (!*p)
{
*p = (char *) t->buf;