--- 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);