diff --git a/src/ftp-ls.c b/src/ftp-ls.c index 22d1887a..e65ddb2c 100644 --- a/src/ftp-ls.c +++ b/src/ftp-ls.c @@ -456,9 +456,11 @@ ftp_parse_winnt_ls (const char *file) hour = atoi(tok); tok = strtok(NULL, "M"); min = atoi(tok); - /* Adjust hour from AM/PM */ + /* Adjust hour from AM/PM. Just for the record, the sequence goes + 11:00AM, 12:00PM, 01:00PM ... 11:00PM, 12:00AM, 01:00AM . */ tok+=2; - if (*tok == 'P') hour = (hour + 12) % 24; + if ((*tok == 'A') && (hour == 12)) hour = 0; + else if ((*tok == 'P') && (hour < 12)) hour += 12; DEBUGP(("YYYY/MM/DD HH:MM - %d/%02d/%02d %02d:%02d\n", year+1900, month, day, hour, min));