diff options
Diffstat (limited to 'src/alf.c')
| -rw-r--r-- | src/alf.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -143,7 +143,8 @@ unsigned long get_msdos_date_time(void) { msdos_year = tm->tm_year + 1900 - 1980; - ms_date = tm->tm_mday | (tm->tm_mon << 5) | (msdos_year << 9); + /* tm_mon + 1 because MS uses 1-12 for months, and struct tm uses 0-11 */ + ms_date = (tm->tm_mday) | (((tm->tm_mon + 1) << 5)) | (msdos_year << 9); ms_time = (tm->tm_sec >> 1) | (tm->tm_min << 5) | (tm->tm_hour << 11); return ms_date | (ms_time << 16); } |
