diff -r f2f7b3284356 -r 91ef7621b7fc charconvfw/charconvplugins/src/plugins/EUCJP_PACKED_2.CPP --- a/charconvfw/charconvplugins/src/plugins/EUCJP_PACKED_2.CPP Mon May 03 14:13:26 2010 +0300 +++ b/charconvfw/charconvplugins/src/plugins/EUCJP_PACKED_2.CPP Thu Jun 24 11:18:23 2010 +0800 @@ -283,6 +283,7 @@ const TDesC16& aUnicode, CCnvCharacterSetConverter::TArrayOfAscendingIndices& aIndicesOfUnconvertibleCharacters) { + TInt ret = KErrNone; RArray characterSets; if ( FeatureManager::FeatureSupported(KFeatureIdJapanesePicto) ) { @@ -291,19 +292,19 @@ characterSet.iConversionData=&CnvJisRoman::ConversionData(); characterSet.iConvertFromIntermediateBufferInPlace=DummyConvertFromIntermediateBufferInPlace; characterSet.iEscapeSequence=&KNullDesC8; - characterSets.Append(characterSet); + ret |= characterSets.Append(characterSet); characterSet.iConversionData=&CnvJisX0208::ConversionData(); characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisX0208ToEucJpPackedInPlace; characterSet.iEscapeSequence=&KNullDesC8; - characterSets.Append(characterSet); + ret |= characterSets.Append(characterSet); characterSet.iConversionData=&CnvHalfWidthKatakana8::ConversionData(); characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromHalfWidthKatakana8ToEucJpPackedInPlace; characterSet.iEscapeSequence=&KNullDesC8; - characterSets.Append(characterSet); + ret |= characterSets.Append(characterSet); characterSet.iConversionData=&CnvJisX0212::ConversionData(); characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisX0212ToEucJpPackedInPlace; characterSet.iEscapeSequence=&KNullDesC8; - characterSets.Append(characterSet); + ret |= characterSets.Append(characterSet); SetCharacterSetsForPictograph(characterSets, ECharsetEucJp); } @@ -313,20 +314,21 @@ characterSet.iConversionData=&CnvJisRoman::ConversionData(); characterSet.iConvertFromIntermediateBufferInPlace=DummyConvertFromIntermediateBufferInPlace; characterSet.iEscapeSequence=&KNullDesC8; - characterSets.Append(characterSet); + ret |= characterSets.Append(characterSet); characterSet.iConversionData=&CnvJisX0208::ConversionData(); characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisX0208ToEucJpPackedInPlace; characterSet.iEscapeSequence=&KNullDesC8; - characterSets.Append(characterSet); + ret |= characterSets.Append(characterSet); characterSet.iConversionData=&CnvHalfWidthKatakana8::ConversionData(); characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromHalfWidthKatakana8ToEucJpPackedInPlace; characterSet.iEscapeSequence=&KNullDesC8; - characterSets.Append(characterSet); + ret |= characterSets.Append(characterSet); characterSet.iConversionData=&CnvJisX0212::ConversionData(); characterSet.iConvertFromIntermediateBufferInPlace=ConvertFromJisX0212ToEucJpPackedInPlace; characterSet.iEscapeSequence=&KNullDesC8; - characterSets.Append(characterSet); + ret |= characterSets.Append(characterSet); } + __ASSERT_DEBUG(!ret, User::Panic(_L("RArray append failure"), ret)); TInt unconvert = CnvUtilities::ConvertFromUnicode(aDefaultEndiannessOfForeignCharacters, aReplacementForUnconvertibleUnicodeCharacters, aForeign, aUnicode, aIndicesOfUnconvertibleCharacters, characterSets.Array()); characterSets.Close(); @@ -575,6 +577,7 @@ TInt& aNumberOfUnconvertibleCharacters, TInt& aIndexOfFirstByteOfFirstUnconvertibleCharacter) { + TInt ret =KErrNone; RArray methods; if ( FeatureManager::FeatureSupported(KFeatureIdJapanesePicto) ) { @@ -585,25 +588,25 @@ method.iConversionData=&CnvJisRoman::ConversionData(); method.iNumberOfBytesPerCharacter=1; method.iNumberOfCoreBytesPerCharacter=1; - methods.Append(method); + ret |= methods.Append(method); method.iNumberOfBytesAbleToConvert=NumberOfBytesAbleToConvertToJisX0208; method.iConvertToIntermediateBufferInPlace=ConvertToJisX0208FromEucJpPackedInPlace; method.iConversionData=&CnvJisX0208::ConversionData(); method.iNumberOfBytesPerCharacter=2; method.iNumberOfCoreBytesPerCharacter=2; - methods.Append(method); + ret |= methods.Append(method); method.iNumberOfBytesAbleToConvert=NumberOfBytesAbleToConvertToHalfWidthKatakana8; method.iConvertToIntermediateBufferInPlace=ConvertToHalfWidthKatakana8FromEucJpPackedInPlace; method.iConversionData=&CnvHalfWidthKatakana8::ConversionData(); method.iNumberOfBytesPerCharacter=2; method.iNumberOfCoreBytesPerCharacter=1; - methods.Append(method); + ret |= methods.Append(method); method.iNumberOfBytesAbleToConvert=NumberOfBytesAbleToConvertToJisX0212; method.iConvertToIntermediateBufferInPlace=ConvertToJisX0212FromEucJpPackedInPlace; method.iConversionData=&CnvJisX0212::ConversionData(); method.iNumberOfBytesPerCharacter=3; method.iNumberOfCoreBytesPerCharacter=2; - methods.Append(method); + ret |= methods.Append(method); } else { @@ -613,26 +616,27 @@ method.iConversionData=&CnvJisRoman::ConversionData(); method.iNumberOfBytesPerCharacter=1; method.iNumberOfCoreBytesPerCharacter=1; - methods.Append(method); + ret |= methods.Append(method); method.iNumberOfBytesAbleToConvert=NumberOfBytesAbleToConvertToJisX0208; method.iConvertToIntermediateBufferInPlace=ConvertToJisX0208FromEucJpPackedInPlace; method.iConversionData=&CnvJisX0208::ConversionData(); method.iNumberOfBytesPerCharacter=2; method.iNumberOfCoreBytesPerCharacter=2; - methods.Append(method); + ret |= methods.Append(method); method.iNumberOfBytesAbleToConvert=NumberOfBytesAbleToConvertToHalfWidthKatakana8; method.iConvertToIntermediateBufferInPlace=ConvertToHalfWidthKatakana8FromEucJpPackedInPlace; method.iConversionData=&CnvHalfWidthKatakana8::ConversionData(); method.iNumberOfBytesPerCharacter=2; method.iNumberOfCoreBytesPerCharacter=1; - methods.Append(method); + ret |= methods.Append(method); method.iNumberOfBytesAbleToConvert=NumberOfBytesAbleToConvertToJisX0212; method.iConvertToIntermediateBufferInPlace=ConvertToJisX0212FromEucJpPackedInPlace; method.iConversionData=&CnvJisX0212::ConversionData(); method.iNumberOfBytesPerCharacter=3; method.iNumberOfCoreBytesPerCharacter=2; - methods.Append(method); + ret |= methods.Append(method); } + __ASSERT_DEBUG(!ret, User::Panic(_L("RArray append failure"), ret)); TInt unconvert = CnvUtilities::ConvertToUnicodeFromHeterogeneousForeign(aDefaultEndiannessOfForeignCharacters, aUnicode, aForeign, aNumberOfUnconvertibleCharacters, aIndexOfFirstByteOfFirstUnconvertibleCharacter, methods.Array()); // The following is specific impelementation for brower.