fixed a regression in iconv support. Daniel

* encoding.c: fixed a regression in iconv support.
Daniel
diff --git a/ChangeLog b/ChangeLog
index 3e0bdf9..2ff134a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sat Nov  6 14:27:18 CET 2004 Daniel Veillard <daniel@veillard.com>
+
+	* encoding.c: fixed a regression in iconv support.
+
 Fri Nov  5 18:19:23 CET 2004 Daniel Veillard <daniel@veillard.com>
 
 	* gentest.py testapi.c: autogenerate a minimal NULL value sequence
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