userlibandfileserver/fileserver/sfat32/sl_file.cpp
changeset 200 73ea206103e6
parent 109 b3a1d9898418
child 201 43365a9b78a3
equal deleted inserted replaced
152:657f875b013e 200:73ea206103e6
   243 	const TUint curSize  = FCB_FileSize();
   243 	const TUint curSize  = FCB_FileSize();
   244 	const TUint length   = (TUint)aLength;
   244 	const TUint length   = (TUint)aLength;
   245 	
   245 	
   246 	if((startPos + length > curSize) || (startPos > startPos + length) )
   246 	if((startPos + length > curSize) || (startPos > startPos + length) )
   247 		aLength=curSize-startPos;
   247 		aLength=curSize-startPos;
   248 	
   248 		
   249     FatMount().ReadFromClusterListL(iCurrentPos,aLength,aDes,aMessage,aOffset);
   249 	TUint flag = DirectIOMode(aMessage) ? RLocalDrive::ELocDrvDirectIO : 0;
       
   250 	
       
   251     FatMount().ReadFromClusterListL(iCurrentPos,aLength,aDes,aMessage,aOffset, flag);
   250 	aLength=iCurrentPos.iPos-startPos;
   252 	aLength=iCurrentPos.iPos-startPos;
   251 	}
   253 	}
   252 
   254 
   253 
   255 
   254 void CFatFileCB::ReadL(TInt aFilePos,TInt& aLength,const TAny* aTrg,const RMessagePtr2& aMessage)
   256 void CFatFileCB::ReadL(TInt aFilePos,TInt& aLength,const TAny* aTrg,const RMessagePtr2& aMessage)
   293    	
   295    	
   294 	TUint startPos=iCurrentPos.iPos;
   296 	TUint startPos=iCurrentPos.iPos;
   295 	TUint badcluster=0;
   297 	TUint badcluster=0;
   296 	TUint goodcluster=0;
   298 	TUint goodcluster=0;
   297    	
   299    	
   298 	TRAPD(ret, FatMount().WriteToClusterListL(iCurrentPos,aLength,aSrc,aMessage,aOffset,badcluster, goodcluster));
   300 	TUint flag = DirectIOMode(aMessage) ? RLocalDrive::ELocDrvDirectIO : 0;
       
   301 	
       
   302 	TRAPD(ret, FatMount().WriteToClusterListL(iCurrentPos,aLength,aSrc,aMessage,aOffset,badcluster, goodcluster, flag));
   299    	
   303    	
   300 	if (ret == KErrCorrupt || ret == KErrDied)
   304 	if (ret == KErrCorrupt || ret == KErrDied)
   301 		{
   305 		{
   302         if(startCluster == 0)
   306         if(startCluster == 0)
   303 			{ //Empty File, revert all the clusters allocated.
   307 			{ //Empty File, revert all the clusters allocated.