summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/libarchivearchive.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer/libarchivearchive.cpp')
-rw-r--r--src/libs/installer/libarchivearchive.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libs/installer/libarchivearchive.cpp b/src/libs/installer/libarchivearchive.cpp
index 3ada73dd2..4493e7a8f 100644
--- a/src/libs/installer/libarchivearchive.cpp
+++ b/src/libs/installer/libarchivearchive.cpp
@@ -1,6 +1,6 @@
/**************************************************************************
**
-** Copyright (C) 2021 The Qt Company Ltd.
+** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Installer Framework.
@@ -39,6 +39,10 @@
#include <QDir>
#include <QTimer>
+#if defined(Q_OS_WIN) && !defined(SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE)
+#define SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE
+#endif
+
namespace QInstaller {
/*!
@@ -588,6 +592,7 @@ QVector<ArchiveEntry> LibArchiveArchive::list()
archiveEntry.path = QLatin1String(archive_entry_pathname(entry));
archiveEntry.utcTime = QDateTime::fromTime_t(archive_entry_mtime(entry));
archiveEntry.isDirectory = (archive_entry_filetype(entry) == AE_IFDIR);
+ archiveEntry.isSymbolicLink = (archive_entry_filetype(entry) == AE_IFLNK);
archiveEntry.uncompressedSize = archive_entry_size(entry);
archiveEntry.permissions_mode = archive_entry_perm(entry);