charconvfw/charconvplugins/src/shared/CnvPictographShared.cpp
changeset 40 91ef7621b7fc
parent 0 1fb32624e06b
child 55 336bee5c2d35
--- a/charconvfw/charconvplugins/src/shared/CnvPictographShared.cpp	Mon May 03 14:13:26 2010 +0300
+++ b/charconvfw/charconvplugins/src/shared/CnvPictographShared.cpp	Thu Jun 24 11:18:23 2010 +0800
@@ -205,6 +205,7 @@
 void CnvPictographShared::SetMethodsForPictograph(
         RArray<CnvUtilities::SMethod>& aArrayOfMethods, TOriginalCharset aOriginalCharset)
     {
+    TInt ret = KErrNone;
     CnvUtilities::SMethod method;
     switch (aOriginalCharset)
         {
@@ -217,7 +218,7 @@
                 &CnvShiftJisDirectmap::ConversionData();
             method.iNumberOfBytesPerCharacter = 2;
             method.iNumberOfCoreBytesPerCharacter = 2;
-            aArrayOfMethods.Append(method);
+            ret |= aArrayOfMethods.Append(method);
             break;
         case ECharsetEucJp:
             method.iNumberOfBytesAbleToConvert =
@@ -228,7 +229,7 @@
                 &CnvShiftJisDirectmap::ConversionData();
             method.iNumberOfBytesPerCharacter = 2;
             method.iNumberOfCoreBytesPerCharacter = 2;
-            aArrayOfMethods.Append(method);
+            ret |= aArrayOfMethods.Append(method);
             method.iNumberOfBytesAbleToConvert =
                 CnvPictographShared::NumberOfBytesAbleToConvertToEucJpDirectMap2;
             method.iConvertToIntermediateBufferInPlace =
@@ -237,12 +238,12 @@
                 &CnvShiftJisDirectmap::ConversionData();
             method.iNumberOfBytesPerCharacter = 3;
             method.iNumberOfCoreBytesPerCharacter = 2;
-            aArrayOfMethods.Append(method);
+            ret |= aArrayOfMethods.Append(method);
             break;
         default:
             break;
         }
-
+    __ASSERT_DEBUG(!ret, User::Panic(_L("RArray append failure"), ret));
     // SAMPLE CODE
     // If this module needs to support escape sequence pictograph,
     // Remove the comment from the following code.
@@ -269,6 +270,7 @@
         RArray<CnvUtilities::SCharacterSet>& aArrayOfStates,
         TOriginalCharset aOriginalCharset)
     {
+    TInt ret = KErrNone;
     CnvUtilities::SCharacterSet characterSet;
     switch (aOriginalCharset)
         {
@@ -279,7 +281,7 @@
             characterSet.iConvertFromIntermediateBufferInPlace =
                 DummyConvertFromIntermediateBufferInPlace;
             characterSet.iEscapeSequence = &KNullDesC8;
-            aArrayOfStates.Append(characterSet);
+            ret |= aArrayOfStates.Append(characterSet);
             break;
         case ECharsetEucJp:
             // Append the character set for pictograph1
@@ -287,18 +289,19 @@
             characterSet.iConvertFromIntermediateBufferInPlace =
                 ConvertFromPictogaphToEucJpDirectmapInPlace;
             characterSet.iEscapeSequence = &KNullDesC8;
-            aArrayOfStates.Append(characterSet);
+            ret |= aArrayOfStates.Append(characterSet);
 
             // Append the character set for pictograph2
             characterSet.iConversionData = &CnvShiftJisDirectmap::ConversionData();
             characterSet.iConvertFromIntermediateBufferInPlace =
                 ConvertFromPictogaphToEucJpDirectmapInPlace;
             characterSet.iEscapeSequence = &KNullDesC8;
-            aArrayOfStates.Append(characterSet);
+            ret |= aArrayOfStates.Append(characterSet);
             break;
         default:
             break;
         }
+    __ASSERT_DEBUG(!ret, User::Panic(_L("RArray append failure"), ret));
     }
 
 // -----------------------------------------------------------------------------