28 quint32 uPerm = (externalAttr & 0xFFFF0000u) >> 16;
29 #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
30 QFile::Permissions perm{};
32 QFile::Permissions perm = 0;
34 if ((uPerm & 0400) != 0) perm |= QFile::ReadOwner;
35 if ((uPerm & 0200) != 0) perm |= QFile::WriteOwner;
36 if ((uPerm & 0100) != 0) perm |= QFile::ExeOwner;
37 if ((uPerm & 0040) != 0) perm |= QFile::ReadGroup;
38 if ((uPerm & 0020) != 0) perm |= QFile::WriteGroup;
39 if ((uPerm & 0010) != 0) perm |= QFile::ExeGroup;
40 if ((uPerm & 0004) != 0) perm |= QFile::ReadOther;
41 if ((uPerm & 0002) != 0) perm |= QFile::WriteOther;
42 if ((uPerm & 0001) != 0) perm |= QFile::ExeOther;
55 bool noOverflow =
true;
87 for (
int i = 0; i <= extra.size() - 4;) {
89 static_cast<unsigned>(
static_cast<unsigned char>(extra.at(i))) |
90 (
static_cast<unsigned>(
91 static_cast<unsigned char>(extra.at(i + 1)))
95 static_cast<unsigned>(
static_cast<unsigned char>(extra.at(i))) |
96 (
static_cast<unsigned>(
97 static_cast<unsigned char>(extra.at(i + 1)))
102 while (i <= extra.size() - 4) {
104 static_cast<unsigned>(
105 static_cast<unsigned char>(extra.at(i))) |
106 (
static_cast<unsigned>(
107 static_cast<unsigned char>(extra.at(i + 1)))
110 int tagsize =
static_cast<unsigned>(
111 static_cast<unsigned char>(extra.at(i))) |
112 (
static_cast<unsigned>(
static_cast<unsigned char>(
120 static_cast<quint64
>(
121 static_cast<unsigned char>(extra.at(i))) |
122 (
static_cast<quint64
>(
static_cast<unsigned char>(
125 (
static_cast<quint64
>(
static_cast<unsigned char>(
128 (
static_cast<quint64
>(
static_cast<unsigned char>(
131 (
static_cast<quint64
>(
static_cast<unsigned char>(
134 (
static_cast<quint64
>(
static_cast<unsigned char>(
137 (
static_cast<quint64
>(
static_cast<unsigned char>(
140 (
static_cast<quint64
>(
static_cast<unsigned char>(
144 QDateTime base(QDate(1601, 1, 1), QTime(0, 0), Qt::UTC);
145 dateTime = base.addMSecs(mtime / 10000);
146 if (fineTicks !=
NULL) {
147 *fineTicks =
static_cast<int>(mtime % 10000);
158 if (fineTicks !=
NULL && dateTime.isNull()) {
__host__ __device__ float length(float2 v)
#define QUAZIP_EXTRA_NTFS_TIME_MAGIC
#define QUAZIP_EXTRA_NTFS_MAGIC
static QFile::Permissions permissionsFromExternalAttr(quint32 externalAttr)
static QDateTime getNTFSTime(const QByteArray &extra, int position, int *fineTicks)
QDateTime getNTFSaTime(int *fineTicks=NULL) const
Returns the NTFS access time.
QDateTime getNTFSmTime(int *fineTicks=NULL) const
Returns the NTFS modification time.
quint16 versionNeeded
Version needed to extract.
quint32 externalAttr
External file attributes.
quint16 method
Compression method.
QDateTime getNTFScTime(int *fineTicks=NULL) const
Returns the NTFS creation time.
QDateTime dateTime
Last modification date and time.
quint64 uncompressedSize
Uncompressed file size.
quint16 flags
General purpose flags.
quint16 versionCreated
Version created by.
bool toQuaZipFileInfo(QuaZipFileInfo &info) const
Converts to QuaZipFileInfo.
quint16 diskNumberStart
Disk number start.
QByteArray extra
Extra field.
quint64 compressedSize
Compressed file size.
quint16 internalAttr
Internal file attributes.
QFile::Permissions getPermissions() const
Get the file permissions.
Information about a file inside archive.
quint32 uncompressedSize
Uncompressed file size.
quint16 internalAttr
Internal file attributes.
quint16 versionCreated
Version created by.
quint16 flags
General purpose flags.
quint16 versionNeeded
Version needed to extract.
quint16 diskNumberStart
Disk number start.
QFile::Permissions getPermissions() const
Get the file permissions.
QDateTime dateTime
Last modification date and time.
quint16 method
Compression method.
quint32 compressedSize
Compressed file size.
quint32 externalAttr
External file attributes.
QByteArray extra
Extra field.