| From: Wolfgang Bauer <wbauer@tmo.at> |
| Date: Thu, 07 Jan 2016 12:38:55 +0000 |
| Subject: [kio_ftp] fix display of file/directory modification time/date |
| X-Git-Url: http://quickgit.kde.org/?p=kio.git&a=commitdiff&h=68af1d7e89b7fed136d4cc62b76c1c6ded2d94eb |
| --- |
| [kio_ftp] fix display of file/directory modification time/date |
| |
| - QDate() treats the year literally (i.e. 90 is really year 90, not |
| 1990), so subtracting 1900 is wrong. |
| - Use QDate::currentDate() instead of QDateTime::currentDateTime(), we |
| only need the current date anyway |
| - Initialize day, month, and year to the current date instead of 0. In |
| the case when no year is mentioned in the server's reply (the year is |
| implicit), it wasn't set to the current year at all, so the result was |
| either 0 or -1. |
| |
| BUG: 354597 |
| FIXED-IN: 5.19.0 |
| REVIEW: 126659 |
| --- |
| |
| |
| --- a/src/ioslaves/ftp/ftp.cpp |
| +++ b/src/ioslaves/ftp/ftp.cpp |
| @@ -1763,18 +1763,16 @@ |
| // Parsing the date is somewhat tricky |
| // Examples : "Oct 6 22:49", "May 13 1999" |
| |
| - // First get current time - we need the current month and year |
| - QDateTime currentTime(QDateTime::currentDateTime()); |
| - int currentMonth = currentTime.date().month(); |
| + // First get current date - we need the current month and year |
| + QDate currentDate(QDate::currentDate()); |
| + int currentMonth = currentDate.month(); |
| //qDebug() << "Current time :" << asctime( tmptr ); |
| - // Reset time fields |
| - currentTime.setTime(QTime(0, 0, 0)); |
| - // Get day number (always second field) |
| - int day = 0; |
| - int month = 0; |
| - int year = 0; |
| + int day = currentDate.day(); |
| + int month = currentDate.month(); |
| + int year = currentDate.year(); |
| int minute = 0; |
| int hour = 0; |
| + // Get day number (always second field) |
| if (p_date_2) { |
| day = atoi(p_date_2); |
| } |
| @@ -1794,7 +1792,7 @@ |
| |
| // Parse third field |
| if (qstrlen(p_date_3) == 4) { // 4 digits, looks like a year |
| - year = atoi(p_date_3) - 1900; |
| + year = atoi(p_date_3); |
| } else { |
| // otherwise, the year is implicit |
| // according to man ls, this happens when it is between than 6 months |
| |