Added a time conversion function and fixed a little bug

(fat stores only 2 second steps)

svn path=/trunk/; revision=882
This commit is contained in:
Eric Kohl 1999-12-16 23:08:17 +00:00
parent 98a6084104
commit 1b0b103796
2 changed files with 34 additions and 2 deletions

View file

@ -32,7 +32,7 @@ BOOL FsdDosDateTimeToFileTime(WORD wDosDate,WORD wDosTime, TIME *FileTime)
return FALSE;
TimeFields.Milliseconds = 0;
TimeFields.Second = pdtime->Second;
TimeFields.Second = pdtime->Second * 2;
TimeFields.Minute = pdtime->Minute;
TimeFields.Hour = pdtime->Hour;
@ -46,6 +46,37 @@ BOOL FsdDosDateTimeToFileTime(WORD wDosDate,WORD wDosTime, TIME *FileTime)
}
// function like FileTimeToDosDateTime
BOOL FsdFileTimeToDosDateTime(TIME *FileTime,WORD *pwDosDate,WORD *pwDosTime)
{
PDOSTIME pdtime = (PDOSTIME)pwDosTime;
PDOSDATE pddate = (PDOSDATE)pwDosDate;
TIME_FIELDS TimeFields;
if (FileTime == NULL)
return FALSE;
RtlTimeToTimeFields((PLARGE_INTEGER)FileTime, &TimeFields);
if (pdtime)
{
pdtime->Second = TimeFields.Second / 2;
pdtime->Minute = TimeFields.Minute;
pdtime->Hour = TimeFields.Hour;
}
if (pddate)
{
pddate->Day = TimeFields.Day;
pddate->Month = TimeFields.Month;
pddate->Year = TimeFields.Year - 1980;
}
return TRUE;
}
unsigned long vfat_wstrlen(PWSTR s)
{
WCHAR c=' ';

View file

@ -1,4 +1,4 @@
/* $Id: vfat.h,v 1.15 1999/12/11 21:14:49 dwelch Exp $ */
/* $Id: vfat.h,v 1.16 1999/12/16 23:08:17 ekohl Exp $ */
struct _BootSector {
unsigned char magic0, res0, magic1;
@ -171,6 +171,7 @@ BOOLEAN VFATWriteSectors(IN PDEVICE_OBJECT pDeviceObject,
//internal functions in dir.c :
BOOL FsdDosDateTimeToFileTime(WORD wDosDate,WORD wDosTime, TIME *FileTime);
BOOL FsdFileTimeToDosDateTime(TIME *FileTime,WORD *pwDosDate,WORD *pwDosTime);
//internal functions in iface.c :
NTSTATUS FindFile(PDEVICE_EXTENSION DeviceExt, PVFATFCB Fcb,