7c028cdf41
- Added kio_ftp-fix-display-of-modification-time-date.patch: fixes display of file/directory modification time in kio_ftp (boo#960500, kde#354597) OBS-URL: https://build.opensuse.org/request/show/352446 OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/kio?expand=0&rev=111
61 lines
2.3 KiB
Diff
61 lines
2.3 KiB
Diff
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
|
|
|