#include <stdarg.h>
#if defined(HAVE_ICONV_H) || defined(HAVE_ICONV)
#include <iconv.h>
-#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
-#endif
#if defined(HAVE_ICONV_H) && !defined(HAVE_ICONV)
#define HAVE_ICONV 1
if ((cd = iconv_open (EUCSTR, code)) == (iconv_t) - 1)
{
error ("iconv_open() error");
-#ifdef HAVE_ERRNO_H
if (errno == EINVAL)
error ("invalid code specification: \"%s\" or \"%s\"",
EUCSTR, code);
-#endif
strcpy ((char *) to, (const char *) from);
return;
}
if ((int) iconv(cd, (char **) &from, &from_len, (char **) &to, &to_len) == -1)
{
-#ifdef HAVE_ERRNO_H
if (errno == EINVAL)
error ("invalid end of input string");
else if (errno == EILSEQ)
else if (errno == E2BIG)
error ("output buffer overflow at do_convert()");
else
-#endif
error ("something happen");
strcpy ((char *) to, (const char *) from);
return;