diff -r cfd0b92a31b5 -r 37610dda6102 engine/src/FeedParser.cpp --- a/engine/src/FeedParser.cpp Fri Nov 12 21:51:18 2010 +0000 +++ b/engine/src/FeedParser.cpp Sat Nov 13 11:50:23 2010 +0000 @@ -55,6 +55,10 @@ iStoppedParsing = EFalse; iEncoding = ELatin1; + TEntry entry; + User::LeaveIfError(iRfs.Entry(feedFileName, entry)); + iFileSize = entry.iSize; + ParseL(*parser, iRfs, feedFileName); CleanupStack::PopAndDestroy(parser); @@ -250,18 +254,21 @@ TBuf8<128> temp; temp.Copy(iBuffer); + DP2("iFileSize=%d, iActiveFeed->FeedFileSize()=%d", iFileSize, iActiveFeed->FeedFileSize()); + TRAPD(parseError, internetDate.SetDateL(temp)); if(parseError == KErrNone) { if (TTime(internetDate.DateTime()) > iActiveFeed->BuildDate()) { DP("Successfully parsed build date"); iActiveFeed->SetBuildDate(TTime(internetDate.DateTime())); - } else { + } else if (iFileSize == iActiveFeed->FeedFileSize()){ DP("*** Nothing new, aborting parsing"); iStoppedParsing = ETrue; } } else { DP("Failed to parse last build date"); } + iActiveFeed->SetFeedFileSize(iFileSize); iFeedState = EStateChannel; } break;