}
-#ifndef HAVE_ICONV
-
-iconv_t iconv_open (const char *tocode, const char *fromcode)
-{
- return (iconv_t) (-1);
-}
-
-size_t iconv (iconv_t cd, const char **inbuf, size_t * inbytesleft,
- char **outbuf, size_t * outbytesleft)
-{
- return 0;
-}
-
-int iconv_close (iconv_t cd)
-{
- return 0;
-}
-
-#endif /* !HAVE_ICONV */
-
-
/*
* Like iconv_open, but canonicalises the charsets
*/
size_t obl = *outbytesleft;
for (;;) {
- ret1 = iconv (cd, &ib, &ibl, &ob, &obl);
+ ret1 = my_iconv(cd, &ib, &ibl, &ob, &obl);
if (ret1 != (size_t) - 1)
ret += ret1;
if (ibl && obl && errno == EILSEQ) {
char *ob1 = ob;
size_t obl1 = obl;
- iconv (cd, &ib1, &ibl1, &ob1, &obl1);
+ my_iconv(cd, &ib1, &ibl1, &ob1, &obl1);
if (!ibl1) {
++ib, --ibl;
ob = ob1, obl = obl1;
/* Replace the output */
if (!outrepl)
outrepl = "?";
- iconv (cd, 0, 0, &ob, &obl);
+ my_iconv(cd, 0, 0, &ob, &obl);
if (obl) {
int n = str_len (outrepl);
++ib, --ibl;
ob += n, obl -= n;
++ret;
- iconv (cd, 0, 0, 0, 0); /* for good measure */
+ my_iconv(cd, 0, 0, 0, 0); /* for good measure */
continue;
}
}
if (fc->ibl) {
size_t obl = sizeof (fc->bufo);
- iconv (fc->cd, (const char **) &fc->ib, &fc->ibl, &fc->ob, &obl);
+ my_iconv(fc->cd, (const char **) &fc->ib, &fc->ibl, &fc->ob, &obl);
if (fc->p < fc->ob)
return (unsigned char) *(fc->p)++;
}
return (size_t) (-1);
obl = 4 * flen + 1;
ob = buf = mem_malloc (obl);
- n = iconv (cd, &f, &flen, &ob, &obl);
- if (n == (size_t) (-1) || iconv (cd, 0, 0, &ob, &obl) == (size_t) (-1)) {
+ n = my_iconv(cd, &f, &flen, &ob, &obl);
+ if (n == (size_t) (-1) || my_iconv(cd, 0, 0, &ob, &obl) == (size_t) (-1)) {
e = errno;
mem_free (&buf);
iconv_close (cd);