diff -r f5907b1a1053 -r 0396474f30f5 emailservices/emailclientapi/src/emailtextcontent.cpp --- a/emailservices/emailclientapi/src/emailtextcontent.cpp Fri Mar 12 15:41:14 2010 +0200 +++ b/emailservices/emailclientapi/src/emailtextcontent.cpp Mon Mar 15 12:39:10 2010 +0200 @@ -48,12 +48,14 @@ CFSMailMessagePart* aPart ) { iEmailMsgContent = CEmailMessageContent::NewL( aPluginData, aMsgContentId, aPart ); - if (!aPart->GetContentType().Compare(KFSMailContentTypeTextHtml)) + + if (!CheckParameterFormatL( aPart->GetContentType() ).Compare(KFSMailContentTypeTextHtml)) { iTextType = EHtmlText; } } + // ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- @@ -316,6 +318,47 @@ // // ----------------------------------------------------------------------------- // +const TDesC& CEmailTextContent::CheckParameterFormatL( const TDesC& aParam ) + { + _LIT( KSeparator, ";" ); + _LIT( KSlash, "/" ); + // Check for a type separator in the string + TInt endPos = aParam.Find( KSeparator ); + // Construct the compare string + TPtrC extractString( aParam.Left( endPos ) ); + HBufC* compareBuf = extractString.AllocLC(); + TPtr compareString = compareBuf->Des(); + TInt slashPos = aParam.Find( KSlash ); + TInt stringLen = compareString.Length(); + + const TDesC& leftPart = extractString.Left( slashPos ); + HBufC* leftPartBuf = leftPart.AllocLC(); + TPtr leftPartString = leftPartBuf->Des(); + leftPartString.Trim(); + + const TDesC& rightPart = extractString.Right( stringLen - ( slashPos + 1 ) ); + HBufC* rightPartBuf = rightPart.AllocLC(); + TPtr rightPartString = rightPartBuf->Des(); + rightPartString.Trim(); + + compareString.Delete( 0, endPos ); + compareString.Append( leftPartString ); + compareString.Append( KSlash ); + compareString.Append( rightPartString ); + compareString.LowerCase(); + CleanupStack::PopAndDestroy( rightPartBuf ); + CleanupStack::PopAndDestroy( leftPartBuf ); + + const TDesC& retParam = compareString; + CleanupStack::PopAndDestroy( compareBuf ); + + return retParam; + } + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// void CEmailTextContent::SetOwner( const TDataOwner aOwner ) { iOwner = aOwner;