[ 
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]

Reply via email to