genericopenlibs/openenvcore/backend/src/corebackend/fdesc.cpp
branchRCL_3
changeset 17 ef2ebc87518f
parent 15 18da5738c9b6
child 54 4332f0f7be53
equal deleted inserted replaced
15:18da5738c9b6 17:ef2ebc87518f
   116 		}
   116 		}
   117 	else //It's a special file, directory or normal file
   117 	else //It's a special file, directory or normal file
   118 		{
   118 		{
   119 		RFs& rfs = Backend()->FileSession();
   119 		RFs& rfs = Backend()->FileSession();
   120         TUint attribval;
   120         TUint attribval;
   121         TPtrC16 filename1 = (const TText16*)name;       
   121         TFullName fullName;
   122         int ret1 = rfs.Att(filename1, attribval);
   122         err = GetFullFile(fullName, (const TText16*)name, rfs);
       
   123         if(err != KErrNone)
       
   124             return NULL;
       
   125         int ret1 = rfs.Att(fullName, attribval);
   123         if (ret1 == 0 && ((attribval & (KEntryAttHidden | KEntryAttSystem))== (KEntryAttHidden | KEntryAttSystem)))
   126         if (ret1 == 0 && ((attribval & (KEntryAttHidden | KEntryAttSystem))== (KEntryAttHidden | KEntryAttSystem)))
   124             {
   127             {
   125             TSpecialFileType fileType = _SystemSpecialFileBasedFilePath(name, err, rfs);
   128             TSpecialFileType fileType = _SystemSpecialFileBasedFilePath(name, err, rfs);
   126             if(fileType  == EFileTypeMkFifo) //special file, FIFO
   129             if(fileType  == EFileTypeMkFifo) //special file, FIFO
   127                 {
   130                 {
   132                 ret = CFileTable::LinkOpen(name, mode, perms, err, rfs);
   135                 ret = CFileTable::LinkOpen(name, mode, perms, err, rfs);
   133                 }
   136                 }
   134             }
   137             }
   135 		else //normal file or directory
   138 		else //normal file or directory
   136 		    {
   139 		    {
   137 		    TFullName fullName;
   140      	    //Try opening as a file
   138 		    err = GetFullFile(fullName, (const TText16*)name, rfs);
       
   139 		    if(err != KErrNone)
       
   140 		    	return NULL;
       
   141 		    
       
   142 		    //Try opening as a file
       
   143 		    CFileDesc* file = new CFileDesc;
   141 		    CFileDesc* file = new CFileDesc;
   144 			if(file != NULL)
   142 			if(file != NULL)
   145 				{
   143 				{
   146 				err = file->Open(rfs, fullName, mode, perms);
   144 				err = file->Open(rfs, fullName, mode, perms);
   147 				if(err != KErrNone)
   145 				if(err != KErrNone)