userlibandfileserver/fileserver/sfile/sf_dir.cpp
changeset 152 657f875b013e
parent 0 a41df078684a
child 243 c7a0ce20c48c
equal deleted inserted replaced
139:95f71bcdcdb7 152:657f875b013e
    14 // f32\sfile\sf_dir.cpp
    14 // f32\sfile\sf_dir.cpp
    15 // 
    15 // 
    16 //
    16 //
    17 
    17 
    18 #include "sf_std.h"
    18 #include "sf_std.h"
       
    19 
       
    20 #ifdef OST_TRACE_COMPILER_IN_USE
       
    21 #include "sf_dirTraces.h"
       
    22 #endif
    19 
    23 
    20 LOCAL_C CDirCB* GetDirFromHandle(TInt aHandle,CSessionFs* aSession)
    24 LOCAL_C CDirCB* GetDirFromHandle(TInt aHandle,CSessionFs* aSession)
    21 //
    25 //
    22 // Get the dir control block from its handle.
    26 // Get the dir control block from its handle.
    23 //
    27 //
    50 
    54 
    51 	FOREVER
    55 	FOREVER
    52 		{
    56 		{
    53 		TEntry e;
    57 		TEntry e;
    54 
    58 
    55 		TRACE1(UTF::EBorder, UTraceModuleFileSys::ECDirCBReadL, EF32TraceUidFileSys, &aDir);
    59 		OstTrace1(TRACE_FILESYSTEM, FSYS_ECDIRCBREADL2, "fsDirReadPacked this %x", &aDir);
    56 		aDir.ReadL(e);
    60 		aDir.ReadL(e);
    57 		TRACE5(UTF::EBorder, UTraceModuleFileSys::ECDirCBReadLRet, EF32TraceUidFileSys, 
    61 		OstTraceExt5(TRACE_FILESYSTEM, FSYS_ECDIRCBREADL2RET, "fsDirReadPacked r %d att %x modified %x:%x  size %d", (TUint) KErrNone, (TUint) e.iAtt, (TUint) I64HIGH(e.iModified.Int64()), (TUint) I64LOW(e.iModified.Int64()), (TUint) e.iSize);
    58 			KErrNone, e.iAtt, I64LOW(e.iModified.Int64()), I64HIGH(e.iModified.Int64()), e.iSize);
       
    59 		TInt len=EntrySize(e, EFalse);
    62 		TInt len=EntrySize(e, EFalse);
    60 		TInt rLen=EntrySize(e, ETrue);
    63 		TInt rLen=EntrySize(e, ETrue);
    61 		TEntry* pX=PtrAdd(pE,rLen);
    64 		TEntry* pX=PtrAdd(pE,rLen);
    62 		if (pX>pEnd)
    65 		if (pX>pEnd)
    63 			{
    66 			{
    64 
    67 
    65 			TRACE1(UTF::EBorder, UTraceModuleFileSys::ECDirCBStoreLongEntryNameL, EF32TraceUidFileSys, &aDir);
    68 			OstTrace1(TRACE_FILESYSTEM, FSYS_ECDIRCBSTORELONGENTRYNAMEL, "fsDirReadPacked this %x", &aDir);
    66 			aDir.StoreLongEntryNameL(e.iName);
    69 			aDir.StoreLongEntryNameL(e.iName);
    67 			TRACE1(UTF::EBorder, UTraceModuleFileSys::ECDirCBStoreLongEntryNameLRet, EF32TraceUidFileSys, KErrNone);
    70 			OstTrace1(TRACE_FILESYSTEM, FSYS_ECDIRCBSTORELONGENTRYNAMELRET, "fsDirReadPacked r %d", KErrNone);
    68 
    71 
    69 			aDir.SetPending(ETrue);
    72 			aDir.SetPending(ETrue);
    70 			break;
    73 			break;
    71 			}
    74 			}
    72 		aLen+=rLen;
    75 		aLen+=rLen;
   161 	TInt r=dir->CheckMount();
   164 	TInt r=dir->CheckMount();
   162 	if (r!=KErrNone)
   165 	if (r!=KErrNone)
   163 		return(r);
   166 		return(r);
   164 	TEntry e;
   167 	TEntry e;
   165 
   168 
   166 	TRACE1(UTF::EBorder, UTraceModuleFileSys::ECDirCBReadL, EF32TraceUidFileSys, &dir);
   169 	OstTrace1(TRACE_FILESYSTEM, FSYS_ECDIRCBREADL1, "this %x", &dir);
   167 	TRAP(r,dir->ReadL(e))
   170 	TRAP(r,dir->ReadL(e))
   168 	TRACE5(UTF::EBorder, UTraceModuleFileSys::ECDirCBReadLRet, EF32TraceUidFileSys, 
   171 	OstTraceExt5(TRACE_FILESYSTEM, FSYS_ECDIRCBREADL1RET, "r %d att %x modified %x:%x  size %d", (TUint) KErrNone, (TUint) e.iAtt, (TUint) I64HIGH(e.iModified.Int64()), (TUint) I64LOW(e.iModified.Int64()), (TUint) e.iSize);
   169 		KErrNone, e.iAtt, I64LOW(e.iModified.Int64()), I64HIGH(e.iModified.Int64()), e.iSize);
   172 		
   170 
   173 
   171 
   174 
   172 	if (r==KErrNone)
   175 	if (r==KErrNone)
   173 		{
   176 		{
   174 		TPckgC<TEntry> pE(e);
   177 		TPckgC<TEntry> pE(e);