Merge pull request #720 from xools/master
[DFS] fix fattime different from elmfat definition
This commit is contained in:
commit
9804753614
|
@ -897,9 +897,33 @@ DRESULT disk_ioctl(BYTE drv, BYTE ctrl, void *buff)
|
|||
return RES_OK;
|
||||
}
|
||||
|
||||
rt_time_t get_fattime(void)
|
||||
DWORD get_fattime(void)
|
||||
{
|
||||
return time(RT_NULL);
|
||||
time_t now;
|
||||
struct tm *p_tm;
|
||||
struct tm tm_now;
|
||||
DWORD fat_time;
|
||||
|
||||
/* get current time */
|
||||
now = time(RT_NULL);
|
||||
|
||||
/* lock scheduler. */
|
||||
rt_enter_critical();
|
||||
/* converts calendar time time into local time. */
|
||||
p_tm = localtime(&now);
|
||||
/* copy the statically located variable */
|
||||
memcpy(&tm_now, p_tm, sizeof(struct tm));
|
||||
/* unlock scheduler. */
|
||||
rt_exit_critical();
|
||||
|
||||
fat_time = (DWORD)(tm_now.tm_year - 80) << 25 |
|
||||
(DWORD)(tm_now.tm_mon + 1) << 21 |
|
||||
(DWORD)tm_now.tm_mday << 16 |
|
||||
(DWORD)tm_now.tm_hour << 11 |
|
||||
(DWORD)tm_now.tm_min << 5 |
|
||||
(DWORD)tm_now.tm_sec / 2 ;
|
||||
|
||||
return fat_time;
|
||||
}
|
||||
|
||||
#if _FS_REENTRANT
|
||||
|
|
Loading…
Reference in New Issue