DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22697>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22697

MacOSEncoder::transcodeFrom throws an exception where it should not.

[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED



------- Additional Comments From [EMAIL PROTECTED]  2003-08-26 00:57 -------
Can you please verify that the following patch will fix your problem? Note that the 
change of only 
one line is truly relevant. If so, I'll go ahead and commit it.

Thanks! James.

Index: src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp
============================================================
=======
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/Transcoders/MacOSUnicodeConverter/
MacOSUnicodeConverter.cpp,v
retrieving revision 1.15
diff -u -r1.15 MacOSUnicodeConverter.cpp
--- src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp
        22 May 2003 14:42:32 -0000      1.15
+++ src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp
        26 Aug 2003 00:52:00 -0000
@@ -655,13 +655,11 @@
        &bytesProduced,
        reinterpret_cast<UniCharArrayPtr>(toFill));
                
-       if (status == kTECUsedFallbacksStatus)
+       if (status == kTECOutputBufferFullStatus || status == kTECUsedFallbacksStatus)
                status = noErr;
        
     if (status != noErr)
-    {
         ThrowXML(TranscodingException, XMLExcepts::Trans_BadSrcSeq);
-    }
        
        std::size_t charsProduced = bytesProduced / sizeof(UniChar);
        
@@ -773,14 +771,6 @@
                 , getEncodingName()
             );
        }
-       
-       // These were removed because we actually have succeeded in transcoding part of
-       // the string; this logic should probably be changed to deal with 
non-transcodable
-       // text somehow; if options != UnRep_Throw, and we zero these values, we get in
-       // to an infinite loop and hang the machine
-       
-       //totalCharsConsumed = 0;
-       //totalCharsProduced = 0;
     }
        
     charsEaten = totalCharsConsumed;

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to