userlibandfileserver/fileserver/sfat32/sl_file.cpp
changeset 109 b3a1d9898418
parent 90 947f0dc9f7a8
child 200 73ea206103e6
--- a/userlibandfileserver/fileserver/sfat32/sl_file.cpp	Mon May 03 13:47:38 2010 +0300
+++ b/userlibandfileserver/fileserver/sfat32/sl_file.cpp	Fri May 14 17:13:29 2010 +0300
@@ -11,7 +11,7 @@
 // Contributors:
 //
 // Description:
-// f32\sfat\sl_file.cpp
+// f32\sfat32\sl_file.cpp
 // 
 //
 
@@ -367,7 +367,7 @@
 		}
 	aLength=iCurrentPos.iPos-startPos;
 
-	if(FatMount().IsRuggedFSys() && pos+(TUint)aLength > FCB_FileSize())
+	if(!IsSequentialMode() && FatMount().IsRuggedFSys() && pos+(TUint)aLength > FCB_FileSize())
 		{
 		WriteFileSizeL(pos+aLength);
 		}
@@ -381,7 +381,6 @@
 	}
 
 
-
 //-----------------------------------------------------------------------------
 
 void CFatFileCB::ResizeIndex(TInt aNewMult,TUint aNewSize)
@@ -502,7 +501,7 @@
 	if (I64HIGH(aSize))
 		User::Leave(KErrNotSupported);
 
-    DoSetSizeL(I64LOW(aSize), FatMount().IsRuggedFSys());
+	DoSetSizeL(I64LOW(aSize), FatMount().IsRuggedFSys());
 	}
 
 
@@ -520,7 +519,7 @@
 	    ASSERT(FCB_FileSize());
         ASSERT(FileSizeModified());
         
-            ClearIndex(0); //-- clear seek index array
+        ClearIndex(0); // Clear seek index array
 		
         //-- update file dir. entry
         const TUint32 cluster = FCB_StartCluster();
@@ -608,8 +607,8 @@
 	
 		FAT().FlushL();
 		
-        if(aForceCachesFlush)			// write file size if increasing
-			WriteFileSizeL(aNewSize);
+        if(!IsSequentialMode() && aForceCachesFlush)	// Write file size directly to its dir. entry if a cache flush
+			WriteFileSizeL(aNewSize);				// is needed and rugged FAT is not ignored by client
 		}
 
 	}
@@ -884,7 +883,6 @@
 	}
 
 
-
 TInt CFatFileCB::GetInterface(TInt aInterfaceId,TAny*& aInterface,TAny* aInput)
 	{
 	switch(aInterfaceId)
@@ -906,8 +904,6 @@
 	}
 
 
-
-
 /**
     Overwrites file's start cluster (iStartCluster) in its directory entry.
 */