mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 14:51:44 +00:00
[NTFS] - Fix POSIX rules. Fix accessing long filenames created in Windows when 8dot3 name creation is disabled.
Whether or not a filename should be interpreted as case-sensitive is dependent on a flag passed to the driver when a file is created (opened); it's separate from the namespace associated with the file being accessed. svn path=/branches/GSoC_2016/NTFS/; revision=75178
This commit is contained in:
parent
98ddf610bc
commit
032be02954
8 changed files with 185 additions and 44 deletions
|
@ -246,6 +246,7 @@ NTSTATUS
|
|||
NtfsOpenFile(PDEVICE_EXTENSION DeviceExt,
|
||||
PFILE_OBJECT FileObject,
|
||||
PWSTR FileName,
|
||||
BOOLEAN CaseSensitive,
|
||||
PNTFS_FCB * FoundFCB)
|
||||
{
|
||||
PNTFS_FCB ParentFcb;
|
||||
|
@ -253,7 +254,12 @@ NtfsOpenFile(PDEVICE_EXTENSION DeviceExt,
|
|||
NTSTATUS Status;
|
||||
PWSTR AbsFileName = NULL;
|
||||
|
||||
DPRINT1("NtfsOpenFile(%p, %p, %S, %p)\n", DeviceExt, FileObject, FileName, FoundFCB);
|
||||
DPRINT1("NtfsOpenFile(%p, %p, %S, %s, %p)\n",
|
||||
DeviceExt,
|
||||
FileObject,
|
||||
FileName,
|
||||
CaseSensitive ? "TRUE" : "FALSE",
|
||||
FoundFCB);
|
||||
|
||||
*FoundFCB = NULL;
|
||||
|
||||
|
@ -285,7 +291,8 @@ NtfsOpenFile(PDEVICE_EXTENSION DeviceExt,
|
|||
Status = NtfsGetFCBForFile(DeviceExt,
|
||||
&ParentFcb,
|
||||
&Fcb,
|
||||
FileName);
|
||||
FileName,
|
||||
CaseSensitive);
|
||||
if (ParentFcb != NULL)
|
||||
{
|
||||
NtfsReleaseFCB(DeviceExt,
|
||||
|
@ -412,6 +419,7 @@ NtfsCreateFile(PDEVICE_OBJECT DeviceObject,
|
|||
Status = NtfsOpenFile(DeviceExt,
|
||||
FileObject,
|
||||
((RequestedOptions & FILE_OPEN_BY_FILE_ID) ? FullPath.Buffer : FileObject->FileName.Buffer),
|
||||
(Stack->Flags & SL_CASE_SENSITIVE),
|
||||
&Fcb);
|
||||
|
||||
if (RequestedOptions & FILE_OPEN_BY_FILE_ID)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue