--- a/email/pop3andsmtpmtm/servermtmutils/src/IMCVCODC.CPP Tue May 11 16:10:04 2010 +0300
+++ b/email/pop3andsmtpmtm/servermtmutils/src/IMCVCODC.CPP Tue May 25 12:38:02 2010 +0300
@@ -1469,14 +1469,14 @@
// Intermediate buffer for decoding, prior to converting
- HBufC8* decodeBuf8 = HBufC8::NewLC(aBufOut.MaxLength());
+ HBufC8* decodeBuf8 = HBufC8::NewLC(aBufOut.MaxLength());
decodeBuf8->Des().Copy( aBufIn.Mid(i+1, j -i-1));
// Depending on type of encoding Q or B, decode.
TPtr8 dataPtr8(dataBuf8->Des());
-
+ TPtr8 decodePtr8(decodeBuf8->Des());
switch (iEncodingInfo.EncodingType())
{
case TImHeaderEncodingInfo::EBase64 :
@@ -1484,14 +1484,13 @@
break;
case TImHeaderEncodingInfo::EQP :
// Replace all underscores in text with SPACE.
- iQPCodec.Decode( *decodeBuf8, dataPtr8 );
-
- i=dataPtr8.Length();
+ i=decodePtr8.Length();
while (i--)
{
- if (dataPtr8[i] == KImcvUnderScore)
- dataPtr8[i] = KImcvSpaceChar;
+ if (decodePtr8[i] == KImcvUnderScore)
+ decodePtr8[i] = KImcvSpaceChar;
}
+ iQPCodec.Decode( *decodeBuf8, dataPtr8 );
break;
default:
dataBuf8->Des().Copy(*decodeBuf8);