fixed a regression in iconv support. Daniel
* encoding.c: fixed a regression in iconv support.
Daniel
diff --git a/encoding.c b/encoding.c
index 8d193a9..6483322 100644
--- a/encoding.c
+++ b/encoding.c
@@ -1670,8 +1670,10 @@
char *icv_out = (char *) out;
int ret;
- if ((out == NULL) || (outlen == NULL) || (inlen == NULL) || (in == NULL))
+ if ((out == NULL) || (outlen == NULL) || (inlen == NULL) || (in == NULL)) {
+ if (outlen != NULL) *outlen = 0;
return(-1);
+ }
icv_inlen = *inlen;
icv_outlen = *outlen;
ret = iconv(cd, (char **) &icv_in, &icv_inlen, &icv_out, &icv_outlen);
@@ -2166,7 +2168,7 @@
written = 32000;
ret = xmlIconvWrapper(handler->iconv_out, &convbuf[0],
&written, cur, &toconv);
- if (ret == -1) {
+ if (ret < 0) {
if (written > 0)
ret = -2;
else