diff -r 4a8fed1c0ef6 -r 597aaf25e343 userlibandfileserver/fileserver/sfat32/sl_mnt.cpp --- a/userlibandfileserver/fileserver/sfat32/sl_mnt.cpp Sat Feb 20 00:10:51 2010 +0200 +++ b/userlibandfileserver/fileserver/sfat32/sl_mnt.cpp Fri Mar 12 15:50:11 2010 +0200 @@ -3040,12 +3040,17 @@ const TUint8 entryCheckSum = aDosEntry.CheckSum(); //-- check sum from the 1st VFat entry + TUint nameChunkOffset = KMaxVFatEntryName*(count-1); + while (count--) { - TPtr fileNamePtr(&aLongFileName[0]+KMaxVFatEntryName*count,aLongFileName.Length()-KMaxVFatEntryName*count); + TPtr fileNamePtr(&aLongFileName[0]+nameChunkOffset, aLongFileName.Length()-nameChunkOffset); fileNamePtr.Copy(vBuf); if (count==0) break; //-- all VFat entries read, only DOS entry remained + + ASSERT(nameChunkOffset >= (TUint)KMaxVFatEntryName); + nameChunkOffset-=KMaxVFatEntryName; MoveToNextEntryL(aPos); ReadDirEntryL(aPos,aDosEntry);