mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
fs: fat: fix seconds in timestamp
The FAT time format stores seconds/2 in bits 4:0. The expression
'tm.tm_sec > 1' is a boolean comparison (yields 0 or 1) where a
right-shift 'tm.tm_sec >> 1' was intended. As a result every
file timestamp written by U-Boot has its seconds field set to
either 0 or 1, depending on whether tm_sec is greater than 1.
Also fix the indentation of the tm_hour line.
Fixes: ba23c378c5 ("fs: fat: fill creation and change date")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
committed by
Tom Rini
parent
746a986fe2
commit
7af4196d9e
@@ -1175,9 +1175,9 @@ static void dentry_set_time(dir_entry *dentptr)
|
||||
date = (tm.tm_mday & 0x1f) |
|
||||
((tm.tm_mon & 0xf) << 5) |
|
||||
((tm.tm_year - 1980) << 9);
|
||||
time = (tm.tm_sec > 1) |
|
||||
time = (tm.tm_sec >> 1) |
|
||||
((tm.tm_min & 0x3f) << 5) |
|
||||
(tm.tm_hour << 11);
|
||||
(tm.tm_hour << 11);
|
||||
dentptr->date = date;
|
||||
dentptr->time = time;
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user