--- src/xercesc/util/Transcoders/IconvFBSD/IconvFBSDTransService.cpp.orig	Thu Mar 18 10:44:13 2004
+++ src/xercesc/util/Transcoders/IconvFBSD/IconvFBSDTransService.cpp	Thu Mar 18 10:47:04 2004
@@ -1340,6 +1340,11 @@
     if (wBufPtr)
         manager->deallocate(wBufPtr);//delete [] wBufPtr;
 
+    // iconvTo resp. iconv(3) doe NOT return number of characters
+    // converted but only number of non-reversible conversions;
+    // thus we need to calculate correct mblen on our own
+    mblen = ptr - toFill;
+
 #endif /* !XML_USE_LIBICONV */
 
     // Cap it off just in case
