--- 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;