commit:     4696fab6b49c284d20c0b134e905dd25c630ea91
Author:     Andreas Sturmlechner <andreas.sturmlechner <AT> gmail <DOT> com>
AuthorDate: Sat Jan  9 13:48:15 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Sat Jan  9 15:16:58 2016 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=4696fab6

kde-frameworks/kio: Add fix for ftp timestamps

Package-Manager: portage-2.2.26

 .../kio/files/kio-5.18.0-ftp-timestamps.patch      | 60 ++++++++++++++++++++++
 kde-frameworks/kio/kio-5.18.0.ebuild               |  2 +
 2 files changed, 62 insertions(+)

diff --git a/kde-frameworks/kio/files/kio-5.18.0-ftp-timestamps.patch 
b/kde-frameworks/kio/files/kio-5.18.0-ftp-timestamps.patch
new file mode 100644
index 0000000..71a7d8c
--- /dev/null
+++ b/kde-frameworks/kio/files/kio-5.18.0-ftp-timestamps.patch
@@ -0,0 +1,60 @@
+From: Wolfgang Bauer <[email protected]>
+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
+

diff --git a/kde-frameworks/kio/kio-5.18.0.ebuild 
b/kde-frameworks/kio/kio-5.18.0.ebuild
index 0039f75..8405de4 100644
--- a/kde-frameworks/kio/kio-5.18.0.ebuild
+++ b/kde-frameworks/kio/kio-5.18.0.ebuild
@@ -67,6 +67,8 @@ RDEPEND="${COMMON_DEPEND}"
 # tests hang
 RESTRICT="test"
 
+PATCHES=( "${FILESDIR}/${P}-ftp-timestamps.patch" )
+
 src_configure() {
        local mycmakeargs=(
                $(cmake-utils_use_find_package acl)

Reply via email to