userlibandfileserver/fileserver/sfile/sf_file.cpp
changeset 90 947f0dc9f7a8
parent 31 56f325a607ea
child 109 b3a1d9898418
child 117 5b5d147c7838
child 132 e4a7b1cbe40c
equal deleted inserted replaced
52:2d65c2f76d7b 90:947f0dc9f7a8
   460 //
   460 //
   461 	{
   461 	{
   462 
   462 
   463 	__PRINT(_L("TFsIsFileOpen::DoRequestL(CFsRequest* aRequest)"));
   463 	__PRINT(_L("TFsIsFileOpen::DoRequestL(CFsRequest* aRequest)"));
   464 	CFileCB* file;
   464 	CFileCB* file;
   465 	TInt r=aRequest->Drive()->IsFileOpen(aRequest->Src().FullName().Mid(2),file);
   465 	TInt r = aRequest->Drive()->IsFileOpen(aRequest->Src().FullName().Mid(2), file);
   466 	if (r!=KErrNone)
   466 	if (r != KErrNone)
   467 		return(r);
   467 		return (r);
   468 	TBool isOpen = file?(TBool)ETrue:(TBool)EFalse;
   468 	TBool isOpen = file ? (TBool)ETrue : (TBool)EFalse;
       
   469 	if (!isOpen)
       
   470 		{
       
   471 		// perform the existance check to retain compatibility with old-style clients
       
   472 		TEntry e;
       
   473 		r = aRequest->Drive()->Entry(aRequest->Src().FullName().Mid(2), e);
       
   474 		if (r == KErrNone && e.IsDir())
       
   475 			r = KErrArgument;
       
   476 		}
       
   477 	if (r != KErrNone)
       
   478 		return (r);
       
   479 
   469 	TPtrC8 pA((TUint8*)&isOpen,sizeof(TBool));
   480 	TPtrC8 pA((TUint8*)&isOpen,sizeof(TBool));
   470 	aRequest->WriteL(KMsgPtr1,pA);
   481 	aRequest->WriteL(KMsgPtr1,pA);
   471 	return(KErrNone);
   482 	return (KErrNone);
   472 	}
   483 	}
   473 
   484 
   474 TInt TFsIsFileOpen::Initialise(CFsRequest* aRequest)
   485 TInt TFsIsFileOpen::Initialise(CFsRequest* aRequest)
   475 //
   486 //
   476 //
   487 //