[ http://issues.apache.org/jira/browse/XERCESC-1300?page=comments#action_58684 ] Scott Case commented on XERCESC-1300: -------------------------------------
I rebuilt the library with version 1.18 of apache CVS file: xml-xerces/c/src/xercesc/util/Transcoders/ICU/ICUTransService.cpp and tested our application. This fix resolved our issues. Thanks! Scott > XMLString::transocde() => ICULCPTranscoder::transcode not terminating string > ---------------------------------------------------------------------------- > > Key: XERCESC-1300 > URL: http://issues.apache.org/jira/browse/XERCESC-1300 > Project: Xerces-C++ > Type: Bug > Components: Utilities > Versions: 2.5.0, 2.6.0 > Environment: Win32, default codepage was "windows-936-2000", Xerces 2.5 with > ICU 2.8 > Reporter: Scott Case > Priority: Minor > > Sometimes data doesn't get null terminated when transcoding Chinese > characters from UTF-16 to windows-936-2000 via "char > *XMLString::trancode(XMLCh*)". > What appears to happen is that once the call gets into the function: > "char* ICULCPTranscoder::transcode(const XMLCh* const toTranscode)" > the amount of memory allocated is too small and the first attempt to > ucnv_fromUChars() fails after which the buffer is enlarged and the > transcoding is attempted again. This second call to ucnv_fromUChars() > returns U_STRING_NOT_TERMINATED_WARNING which is not an error so the overall > function succeeds but leaves the data unterminated. > The fix is to modify the second call to ucnv_fromUChars as shown below: > ucnv_fromUChars(fConverter,retBuf > , targetCap // Change to: targetCap +1 > , actualSrc, -1, &err); > A workaround is to use "bool XMLString::transcode(const XMLCh *const > toTranscode, char *const toFill, const unsigned int maxChars)" which doesn't > exhibit this problem. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]