From 7c028cdf4103895499c0898b9f09d590fb7e5e949c6b93525f4a3a7a6a0b729c Mon Sep 17 00:00:00 2001 From: Hrvoje Senjan Date: Thu, 7 Jan 2016 15:56:18 +0000 Subject: [PATCH] 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 --- kio.changes | 7 +++ kio.spec | 3 + ...ix-display-of-modification-time-date.patch | 60 +++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 kio_ftp-fix-display-of-modification-time-date.patch diff --git a/kio.changes b/kio.changes index 5f084ab..ec718ce 100644 --- a/kio.changes +++ b/kio.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Jan 7 12:54:34 UTC 2016 - wbauer@tmo.at + +- Added kio_ftp-fix-display-of-modification-time-date.patch: fixes + display of file/directory modification time in kio_ftp + (boo#960500, kde#354597) + ------------------------------------------------------------------- Sat Jan 2 17:43:55 UTC 2016 - hrvoje.senjan@gmail.com diff --git a/kio.spec b/kio.spec index 4bddae4..02ccccf 100644 --- a/kio.spec +++ b/kio.spec @@ -75,6 +75,8 @@ Source: http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-% Source1: baselibs.conf # PATCH-FIX-OPENSUSE kio_help-fallback-to-kde4-docs.patch -- allow kio_help to see into kde4 documentation, needed especially for khelpcenter5 Patch0: kio_help-fallback-to-kde4-docs.patch +# PATCH-FIX-UPSTREAM kio_ftp-fix-display-of-modification-time-date boo#960500, kde#354597 -- fixes display of file/dir modification time in kio_ftp +Patch1: kio_ftp-fix-display-of-modification-time-date.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -121,6 +123,7 @@ Development files. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build %cmake_kf5 -d build diff --git a/kio_ftp-fix-display-of-modification-time-date.patch b/kio_ftp-fix-display-of-modification-time-date.patch new file mode 100644 index 0000000..db6ec45 --- /dev/null +++ b/kio_ftp-fix-display-of-modification-time-date.patch @@ -0,0 +1,60 @@ +From: Wolfgang Bauer +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 +