mirror of
https://github.com/reactos/reactos.git
synced 2024-08-01 00:58:16 +00:00
[NTFS]
Bugfixing... Part 8/X: - Actually, the files timestamp are already stored in the correct format on-disk... I should have listened to Thomas... This fixes incorrect dates display when enumerating a directory contents. My apologies Thomas :-(. Last to fix: the file size which is broken. svn path=/trunk/; revision=64832
This commit is contained in:
parent
211e68d9b1
commit
3b8b4734d6
|
@ -175,11 +175,10 @@ NtfsGetDirectoryInformation(PDEVICE_EXTENSION DeviceExt,
|
||||||
ROUND_UP(sizeof(FILE_DIRECTORY_INFORMATION) + Length, sizeof(ULONG));
|
ROUND_UP(sizeof(FILE_DIRECTORY_INFORMATION) + Length, sizeof(ULONG));
|
||||||
RtlCopyMemory(Info->FileName, FileName->Name, Length);
|
RtlCopyMemory(Info->FileName, FileName->Name, Length);
|
||||||
|
|
||||||
/* Convert file times */
|
Info->CreationTime.QuadPart = FileName->CreationTime;
|
||||||
NtfsDateTimeToFileTime(FileName->CreationTime, &Info->CreationTime);
|
Info->LastAccessTime.QuadPart = FileName->LastAccessTime;
|
||||||
NtfsDateTimeToFileTime(FileName->LastAccessTime, &Info->LastAccessTime);
|
Info->LastWriteTime.QuadPart = FileName->LastWriteTime;
|
||||||
NtfsDateTimeToFileTime(FileName->LastWriteTime, &Info->LastWriteTime);
|
Info->ChangeTime.QuadPart = FileName->ChangeTime;
|
||||||
NtfsDateTimeToFileTime(FileName->ChangeTime, &Info->ChangeTime);
|
|
||||||
|
|
||||||
/* Convert file flags */
|
/* Convert file flags */
|
||||||
NtfsFileFlagsToAttributes(FileName->FileAttributes, &Info->FileAttributes);
|
NtfsFileFlagsToAttributes(FileName->FileAttributes, &Info->FileAttributes);
|
||||||
|
@ -217,11 +216,10 @@ NtfsGetFullDirectoryInformation(PDEVICE_EXTENSION DeviceExt,
|
||||||
ROUND_UP(sizeof(FILE_FULL_DIRECTORY_INFORMATION) + Length, sizeof(ULONG));
|
ROUND_UP(sizeof(FILE_FULL_DIRECTORY_INFORMATION) + Length, sizeof(ULONG));
|
||||||
RtlCopyMemory(Info->FileName, FileName->Name, Length);
|
RtlCopyMemory(Info->FileName, FileName->Name, Length);
|
||||||
|
|
||||||
/* Convert file times */
|
Info->CreationTime.QuadPart = FileName->CreationTime;
|
||||||
NtfsDateTimeToFileTime(FileName->CreationTime, &Info->CreationTime);
|
Info->LastAccessTime.QuadPart = FileName->LastAccessTime;
|
||||||
NtfsDateTimeToFileTime(FileName->LastAccessTime, &Info->LastAccessTime);
|
Info->LastWriteTime.QuadPart = FileName->LastWriteTime;
|
||||||
NtfsDateTimeToFileTime(FileName->LastWriteTime, &Info->LastWriteTime);
|
Info->ChangeTime.QuadPart = FileName->ChangeTime;
|
||||||
NtfsDateTimeToFileTime(FileName->ChangeTime, &Info->ChangeTime);
|
|
||||||
|
|
||||||
/* Convert file flags */
|
/* Convert file flags */
|
||||||
NtfsFileFlagsToAttributes(FileName->FileAttributes, &Info->FileAttributes);
|
NtfsFileFlagsToAttributes(FileName->FileAttributes, &Info->FileAttributes);
|
||||||
|
@ -260,11 +258,10 @@ NtfsGetBothDirectoryInformation(PDEVICE_EXTENSION DeviceExt,
|
||||||
ROUND_UP(sizeof(FILE_BOTH_DIR_INFORMATION) + Length, sizeof(ULONG));
|
ROUND_UP(sizeof(FILE_BOTH_DIR_INFORMATION) + Length, sizeof(ULONG));
|
||||||
RtlCopyMemory(Info->FileName, FileName->Name, Length);
|
RtlCopyMemory(Info->FileName, FileName->Name, Length);
|
||||||
|
|
||||||
/* Convert file times */
|
Info->CreationTime.QuadPart = FileName->CreationTime;
|
||||||
NtfsDateTimeToFileTime(FileName->CreationTime, &Info->CreationTime);
|
Info->LastAccessTime.QuadPart = FileName->LastAccessTime;
|
||||||
NtfsDateTimeToFileTime(FileName->LastAccessTime, &Info->LastAccessTime);
|
Info->LastWriteTime.QuadPart = FileName->LastWriteTime;
|
||||||
NtfsDateTimeToFileTime(FileName->LastWriteTime, &Info->LastWriteTime);
|
Info->ChangeTime.QuadPart = FileName->ChangeTime;
|
||||||
NtfsDateTimeToFileTime(FileName->ChangeTime, &Info->ChangeTime);
|
|
||||||
|
|
||||||
/* Convert file flags */
|
/* Convert file flags */
|
||||||
NtfsFileFlagsToAttributes(FileName->FileAttributes, &Info->FileAttributes);
|
NtfsFileFlagsToAttributes(FileName->FileAttributes, &Info->FileAttributes);
|
||||||
|
|
|
@ -97,18 +97,6 @@ NtfsAllocateIrpContext(PDEVICE_OBJECT DeviceObject,
|
||||||
return IrpContext;
|
return IrpContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* See:
|
|
||||||
-> http://msdn.microsoft.com/en-us/library/ms724228
|
|
||||||
-> http://bos.asmhackers.net/docs/filesystems/ntfs/standard.html#layout
|
|
||||||
*/
|
|
||||||
VOID
|
|
||||||
NtfsDateTimeToFileTime(ULONGLONG NtfsTime,
|
|
||||||
PLARGE_INTEGER SystemTime)
|
|
||||||
{
|
|
||||||
|
|
||||||
SystemTime->QuadPart = NtfsTime + 116444736000000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NtfsFileFlagsToAttributes(ULONG NtfsAttributes,
|
NtfsFileFlagsToAttributes(ULONG NtfsAttributes,
|
||||||
PULONG FileAttributes)
|
PULONG FileAttributes)
|
||||||
|
|
|
@ -692,10 +692,6 @@ CdfsSwapString(PWCHAR Out,
|
||||||
ULONG Count);
|
ULONG Count);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
VOID
|
|
||||||
NtfsDateTimeToFileTime(ULONGLONG NtfsTime,
|
|
||||||
PLARGE_INTEGER SystemTime);
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NtfsFileFlagsToAttributes(ULONG NtfsAttributes,
|
NtfsFileFlagsToAttributes(ULONG NtfsAttributes,
|
||||||
PULONG FileAttributes);
|
PULONG FileAttributes);
|
||||||
|
|
Loading…
Reference in a new issue