installationservices/swi/source/sisfile/sisdata.cpp
changeset 60 245df5276b97
parent 0 ba25891c3a9e
--- a/installationservices/swi/source/sisfile/sisdata.cpp	Tue Jul 06 14:23:31 2010 +0300
+++ b/installationservices/swi/source/sisfile/sisdata.cpp	Wed Aug 18 09:55:45 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -62,10 +62,16 @@
 	User::LeaveIfError(iDataProvider.Seek(ESeekCurrent, iOffset));
 	ReadMemberArrayL(iDataProvider, iDataUnits, EFieldTypeDataUnit, arrayBytes, EReadType);
 
+	TInt64 fieldOffset = 0;
+#ifdef SIS_CRC_CHECK_ENABLED
 	// Calculate CRC of header and field data by reading the entire header and field
-	TInt64 fieldOffset = iOffset - HeaderSize();
+	fieldOffset = iOffset - HeaderSize();
 	User::LeaveIfError(iDataProvider.Seek(ESeekStart, fieldOffset));
 	CField::CalculateCrcL(iDataProvider, HeaderSize() + Length() + PaddingSize(), iCrc );
+#else
+	fieldOffset = iOffset + Length() + PaddingSize();
+    User::LeaveIfError(iDataProvider.Seek(ESeekStart, fieldOffset));
+#endif
 	aBytesRead += Length() + PaddingSize();
 	}