userlibandfileserver/fileserver/sfat32/sl_mnt.cpp
branchRCL_3
changeset 80 597aaf25e343
parent 62 4a8fed1c0ef6
child 87 2f92ad2dc5db
equal deleted inserted replaced
62:4a8fed1c0ef6 80:597aaf25e343
  3038 
  3038 
  3039     aLongFileName.SetLength(nameLen);
  3039     aLongFileName.SetLength(nameLen);
  3040 
  3040 
  3041     const TUint8 entryCheckSum = aDosEntry.CheckSum(); //-- check sum from the 1st VFat entry
  3041     const TUint8 entryCheckSum = aDosEntry.CheckSum(); //-- check sum from the 1st VFat entry
  3042 
  3042 
       
  3043     TUint nameChunkOffset = KMaxVFatEntryName*(count-1);
       
  3044 
  3043     while (count--)
  3045     while (count--)
  3044         {
  3046         {
  3045         TPtr fileNamePtr(&aLongFileName[0]+KMaxVFatEntryName*count,aLongFileName.Length()-KMaxVFatEntryName*count);
  3047         TPtr fileNamePtr(&aLongFileName[0]+nameChunkOffset, aLongFileName.Length()-nameChunkOffset);
  3046         fileNamePtr.Copy(vBuf);
  3048         fileNamePtr.Copy(vBuf);
  3047         if (count==0)
  3049         if (count==0)
  3048             break; //-- all VFat entries read, only DOS entry remained
  3050             break; //-- all VFat entries read, only DOS entry remained
       
  3051         
       
  3052         ASSERT(nameChunkOffset >= (TUint)KMaxVFatEntryName);
       
  3053         nameChunkOffset-=KMaxVFatEntryName;
  3049 
  3054 
  3050         MoveToNextEntryL(aPos);
  3055         MoveToNextEntryL(aPos);
  3051         ReadDirEntryL(aPos,aDosEntry);
  3056         ReadDirEntryL(aPos,aDosEntry);
  3052 
  3057 
  3053         //-- check if it is correct VFat entry.
  3058         //-- check if it is correct VFat entry.