diff options
Diffstat (limited to 'src/gui/text/qzip.cpp')
-rw-r--r-- | src/gui/text/qzip.cpp | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/src/gui/text/qzip.cpp b/src/gui/text/qzip.cpp index edd3447357..25e4db0969 100644 --- a/src/gui/text/qzip.cpp +++ b/src/gui/text/qzip.cpp @@ -162,17 +162,11 @@ static void writeMSDosDate(uchar *dest, const QDateTime& dt) static quint32 permissionsToMode(QFile::Permissions perms) { quint32 mode = 0; - if (perms & QFile::ReadOwner) + if (perms & (QFile::ReadOwner | QFile::ReadUser)) mode |= S_IRUSR; - if (perms & QFile::WriteOwner) + if (perms & (QFile::WriteOwner | QFile::WriteUser)) mode |= S_IWUSR; - if (perms & QFile::ExeOwner) - mode |= S_IXUSR; - if (perms & QFile::ReadUser) - mode |= S_IRUSR; - if (perms & QFile::WriteUser) - mode |= S_IWUSR; - if (perms & QFile::ExeUser) + if (perms & (QFile::ExeOwner | QFile::ExeUser)) mode |= S_IXUSR; if (perms & QFile::ReadGroup) mode |= S_IRGRP; @@ -257,17 +251,11 @@ static QFile::Permissions modeToPermissions(quint32 mode) { QFile::Permissions ret; if (mode & S_IRUSR) - ret |= QFile::ReadOwner; - if (mode & S_IWUSR) - ret |= QFile::WriteOwner; - if (mode & S_IXUSR) - ret |= QFile::ExeOwner; - if (mode & S_IRUSR) - ret |= QFile::ReadUser; + ret |= QFile::ReadOwner | QFile::ReadUser; if (mode & S_IWUSR) - ret |= QFile::WriteUser; + ret |= QFile::WriteOwner | QFile::WriteUser; if (mode & S_IXUSR) - ret |= QFile::ExeUser; + ret |= QFile::ExeOwner | QFile::ExeUser; if (mode & S_IRGRP) ret |= QFile::ReadGroup; if (mode & S_IWGRP) |