diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2020-06-08 20:25:36 +0200 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2020-08-07 22:18:41 +0200 |
commit | b0f22620a2dbfb991b10a8e1e8b0c8db5e3ee117 (patch) | |
tree | 2695997733229be38ec71c36753b19ba2e98aa61 /rbutil/rbutilqt/quazip/quazipnewinfo.cpp | |
parent | b3a0187416e48d80275af6be0178cef155aa03dc (diff) | |
download | rockbox-b0f22620a2dbfb991b10a8e1e8b0c8db5e3ee117.tar.gz rockbox-b0f22620a2dbfb991b10a8e1e8b0c8db5e3ee117.zip |
rbutil: Update quazip to release 0.9.1.
Update to latest quazip release.
Change-Id: I03189ceeadbe3110a9420153d84bd5d33d5b663f
Diffstat (limited to 'rbutil/rbutilqt/quazip/quazipnewinfo.cpp')
-rw-r--r-- | rbutil/rbutilqt/quazip/quazipnewinfo.cpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/rbutil/rbutilqt/quazip/quazipnewinfo.cpp b/rbutil/rbutilqt/quazip/quazipnewinfo.cpp index 02e01da9c5..98630e086a 100644 --- a/rbutil/rbutilqt/quazip/quazipnewinfo.cpp +++ b/rbutil/rbutilqt/quazip/quazipnewinfo.cpp @@ -22,16 +22,25 @@ Original ZIP package is copyrighted by Gilles Vollant and contributors, see quazip/(un)zip.h files for details. Basically it's the zlib license. */ -#include <QFileInfo> +#include <QtCore/QFileInfo> #include "quazipnewinfo.h" #include <string.h> static void QuaZipNewInfo_setPermissions(QuaZipNewInfo *info, - QFile::Permissions perm, bool isDir) + QFile::Permissions perm, bool isDir, bool isSymLink = false) { quint32 uPerm = isDir ? 0040000 : 0100000; + + if ( isSymLink ) { +#ifdef Q_OS_WIN + uPerm = 0200000; +#else + uPerm = 0120000; +#endif + } + if ((perm & QFile::ReadOwner) != 0) uPerm |= 0400; if ((perm & QFile::WriteOwner) != 0) @@ -91,7 +100,7 @@ QuaZipNewInfo::QuaZipNewInfo(const QString& name, const QString& file): dateTime = QDateTime::currentDateTime(); } else { dateTime = lm; - QuaZipNewInfo_setPermissions(this, info.permissions(), info.isDir()); + QuaZipNewInfo_setPermissions(this, info.permissions(), info.isDir(), info.isSymLink()); } } @@ -107,12 +116,12 @@ void QuaZipNewInfo::setFilePermissions(const QString &file) { QFileInfo info = QFileInfo(file); QFile::Permissions perm = info.permissions(); - QuaZipNewInfo_setPermissions(this, perm, info.isDir()); + QuaZipNewInfo_setPermissions(this, perm, info.isDir(), info.isSymLink()); } void QuaZipNewInfo::setPermissions(QFile::Permissions permissions) { - QuaZipNewInfo_setPermissions(this, permissions, name.endsWith('/')); + QuaZipNewInfo_setPermissions(this, permissions, name.endsWith(QLatin1String("/"))); } void QuaZipNewInfo::setFileNTFSTimes(const QString &fileName) @@ -125,7 +134,11 @@ void QuaZipNewInfo::setFileNTFSTimes(const QString &fileName) } setFileNTFSmTime(fi.lastModified()); setFileNTFSaTime(fi.lastRead()); +#if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)) + setFileNTFScTime(fi.birthTime()); +#else setFileNTFScTime(fi.created()); +#endif } static void setNTFSTime(QByteArray &extra, const QDateTime &time, int position, |