diff -r d189ee25cf9d -r 3533d4323edc ipsservices/ipssosplugin/src/ipsplgmsgkey.cpp --- a/ipsservices/ipssosplugin/src/ipsplgmsgkey.cpp Tue Aug 31 15:04:17 2010 +0300 +++ b/ipsservices/ipssosplugin/src/ipsplgmsgkey.cpp Wed Sep 01 12:28:57 2010 +0100 @@ -15,11 +15,9 @@ * */ -// Are AknUtils available in 10.1? // #include // -// #include "emailtrace.h" #include "ipsplgheaders.h" @@ -30,9 +28,7 @@ _LIT(KDefaultSubjectPrefixSeparator,": "); // -// Cmail bugfix uses AknUtils (available in 10.1?) - commented out until it is clear -//_LIT( KCharsToReplace, "\r\n\t\x2028\x2029" ); -// +_LIT( KCharsToReplace, "\r\n\t\x2028\x2029" ); // // --------------------------------------------------------------------------- @@ -216,38 +212,31 @@ { FUNC_LOG; TInt result( KEqual ); - TPtrC leftPtr( aLeft ); - TPtrC rightPtr( aRight ); - TInt leftOffset( FindSubjectStart( aLeft ) ); - TInt rightOffset( FindSubjectStart( aRight ) ); - - leftPtr.Set( - leftPtr.Ptr() + leftOffset, leftPtr.Length() - leftOffset ); - rightPtr.Set( - rightPtr.Ptr() + rightOffset, rightPtr.Length() - rightOffset ); - -// Are AknUtils available in 10.1? - // for unifying with UI - remove all white spaces - /*HBufC* croppedLeft = leftPtr.AllocLC(); - TPtr croppedLeftPtr = croppedLeft->Des(); - HBufC* croppedRight = rightPtr.AllocLC(); - TPtr croppedRightPtr = croppedRight->Des(); - - AknTextUtils::ReplaceCharacters( croppedLeftPtr, KCharsToReplace, ' ' ); - croppedLeftPtr.TrimAll(); - AknTextUtils::ReplaceCharacters( croppedRightPtr, KCharsToReplace, ' ' ); - croppedRightPtr.TrimAll(); - - result = croppedLeftPtr.CompareC( croppedRightPtr ); - - CleanupStack::PopAndDestroy( croppedRight ); - CleanupStack::PopAndDestroy( croppedLeft );*/ - // -// - -// Remove line if above code is valid in 10.1 - result = leftPtr.CompareC( rightPtr ); -// + const TInt leftOffset = FindSubjectStart( aLeft ); + const TInt rightOffset = FindSubjectStart( aRight ); + TPtrC leftPtr( aLeft.Ptr() + leftOffset, aLeft.Length() - leftOffset ); + TPtrC rightPtr( aRight.Ptr() + rightOffset, aRight.Length() - rightOffset ); + + // for unifying with UI - remove all white spaces + HBufC* croppedLeft = leftPtr.Alloc(); + HBufC* croppedRight = rightPtr.Alloc(); + + // Comparison is done only when allocation succeeds + if ( croppedLeft && croppedRight ) + { + TPtr croppedLeftPtr = croppedLeft->Des(); + TPtr croppedRightPtr = croppedRight->Des(); + + AknTextUtils::ReplaceCharacters( croppedLeftPtr, KCharsToReplace, ' ' ); + croppedLeftPtr.TrimAll(); + AknTextUtils::ReplaceCharacters( croppedRightPtr, KCharsToReplace, ' ' ); + croppedRightPtr.TrimAll(); + + result = croppedLeftPtr.CompareC( croppedRightPtr ); + } + + delete croppedRight; + delete croppedLeft; return result; }