You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by jb...@apache.org on 2003/08/26 15:58:49 UTC
cvs commit: xml-xerces/c/src/xercesc/util/Transcoders/MacOSUnicodeConverter MacOSUnicodeConverter.cpp
jberry 2003/08/26 06:58:49
Modified: c/src/xercesc/util/Transcoders/MacOSUnicodeConverter
MacOSUnicodeConverter.cpp
Log:
Fix bug #22697; transcodeFrom incorrectly throws on kTECOutputBufferFullStatus. Thanks to benoit.blaquiere@ign.fr
Revision Changes Path
1.16 +2 -12 xml-xerces/c/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp
Index: MacOSUnicodeConverter.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- MacOSUnicodeConverter.cpp 22 May 2003 14:42:32 -0000 1.15
+++ MacOSUnicodeConverter.cpp 26 Aug 2003 13:58:49 -0000 1.16
@@ -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: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org