engine/src/FeedParser.cpp
branchsymbian1
changeset 340 37610dda6102
parent 336 3d6c1417e8bd
child 365 3317b29a19f1
--- 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;