kio/kio_ftp-fix-display-of-modification-time-date.patch
Hrvoje Senjan 7c028cdf41 Accepting request 352446 from home:wolfi323:test
- 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
2016-01-07 15:56:18 +00:00

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