baseport/syborg/svphostfs/driver/svphostfsdriver.cpp
changeset 15 5fca9e46c6fa
parent 2 d55eb581a87c
--- a/baseport/syborg/svphostfs/driver/svphostfsdriver.cpp	Thu Oct 15 17:58:46 2009 +0100
+++ b/baseport/syborg/svphostfs/driver/svphostfsdriver.cpp	Wed Oct 21 10:29:21 2009 +0100
@@ -416,7 +416,14 @@
 	
 	if (KErrNone != err)
 		{
-		DP("Error %d from DoRequest", err);
+
+		if (err == KErrNotSupported)
+			{
+			err = KErrNone; // trap KErrNotSupported
+			}
+				
+		DP("Error %d from DoRequest %d", err, aReqNo);
+
 		}
 	
 	return err;
@@ -437,6 +444,12 @@
 
 	if (KErrNone != err)
 		{
+
+		if (err == KErrNotSupported)
+			{
+			err = KErrNone; // trap KErrNotSupported
+			}
+
 		DP("** (SVPHOSTFSDRIVER) Error %d from control function", err);
 		}
 	
@@ -501,7 +514,16 @@
 	SVPWriteReg(device, EArg2, info.iFlags);
 	SVPInvoke(device, RSVPHostFsDriver::EMkDir);
 
-	return SVPReadReg(device, EResult);
+
+	//return SVPReadReg(device, EResult);
+	
+	err = SVPReadReg(device, EResult);
+	
+	if(err == KErrPathNotFound)
+		err = KErrNotFound;
+	
+	return err;
+
 
 	}
 
@@ -637,7 +659,20 @@
 	SVPWriteReg(device, EArg1, info.iLength);
 	SVPInvoke(device, RSVPHostFsDriver::EEntry);
 
-	RET_IF_ERROR(err, SVPReadReg(device, EResult));
+
+	//RET_IF_ERROR(err, SVPReadReg(device, EResult));
+	
+	err = SVPReadReg(device, EResult);
+	
+	if(err!=KErrNone)
+		{
+		if(err == KErrPathNotFound)
+			err = KErrNotFound;
+		
+		return err;
+		}
+
+	
 
 	TUint32 att = SVPReadReg(device, EArg0);
 	TUint32 modified = SVPReadReg(device, EArg1);
@@ -690,7 +725,20 @@
 	SVPWriteReg(device, EArg1, info.iLength);
 	SVPInvoke(device, RSVPHostFsDriver::EDirOpen);
 
-	RET_IF_ERROR(err, SVPReadReg(device, EResult));
+
+	//RET_IF_ERROR(err, SVPReadReg(device, EResult));
+	
+	err = SVPReadReg(device, EResult);
+	
+	if(err!=KErrNone)
+		{
+		
+		if(err==KErrPathNotFound)
+			err=KErrNotFound;
+		
+		return err;
+		}
+
 
 	// handle is in arg 0
 	TUint32 handle = SVPReadReg(device, EArg0);
@@ -719,7 +767,20 @@
 	SVPWriteReg(device, EArg3, info.iOpen);
 	SVPInvoke(device, RSVPHostFsDriver::EFileOpen);
 
-	RET_IF_ERROR(err, SVPReadReg(device, EResult));
+
+	//RET_IF_ERROR(err, SVPReadReg(device, EResult));
+	
+	err = SVPReadReg(device, EResult);
+		
+	if(err!=KErrNone)
+		{
+		if(err == KErrPathNotFound)
+			err = KErrNotFound;
+		
+		return err;
+		}
+
+	
 
 	TUint32 handle = SVPReadReg(device, EArg0);
 	TUint32 att = SVPReadReg(device, EArg1);
@@ -797,7 +858,20 @@
 	SVPWriteReg(device, EArg3, info.iLength);	
 	SVPInvoke(device, RSVPHostFsDriver::EFileWrite);
 
-	RET_IF_ERROR(err, SVPReadReg(device, EResult));
+
+	// RET_IF_ERROR(err, SVPReadReg(device, EResult));
+	
+	err = SVPReadReg(device, EResult);
+	
+	if(err!=KErrNone)
+		{
+		if(err == KErrPathNotFound)
+			err = KErrNotFound;
+		
+		return err;
+		}
+
+	
 
 	TUint32 len = SVPReadReg(device, EArg0);
 
@@ -831,7 +905,9 @@
 	{
         DP("** (SVPHOSTFSDRIVER) DSVPHostFsChannel::FileSetEntry()");
 
-	return KErrNotSupported;
+
+	return KErrNone;
+
 	}
 
 TInt DSVPHostFsChannel::DirClose(TUint32 aDrive, TUint32 aHandle)