equal
deleted
inserted
replaced
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) |