diff --git a/src/corelib/io/qfiledevice_p.h b/src/corelib/io/qfiledevice_p.h index 2b97773c2ff..b02af544aa9 100644 --- a/src/corelib/io/qfiledevice_p.h +++ b/src/corelib/io/qfiledevice_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtCore module of the Qt Toolkit. @@ -62,6 +62,11 @@ # include # include // for SECURITY_DESCRIPTOR # include +# if defined(QT_BOOTSTRAPPED) +# define QT_FEATURE_fslibs -1 +# else +# define QT_FEATURE_fslibs 1 +# endif // QT_BOOTSTRAPPED #endif QT_BEGIN_NAMESPACE @@ -155,9 +160,11 @@ private: static constexpr auto MaxACLSize = sizeof(ACL) + (sizeof(ACCESS_ALLOWED_ACE) + SECURITY_MAX_SID_SIZE) * MaxNumACEs; - SECURITY_DESCRIPTOR sd; SECURITY_ATTRIBUTES sa; +#if QT_CONFIG(fslibs) + SECURITY_DESCRIPTOR sd; alignas(DWORD) char aclStorage[MaxACLSize]; +#endif }; #endif // Q_OS_UNIX diff --git a/src/corelib/io/qfilesystemengine_win.cpp b/src/corelib/io/qfilesystemengine_win.cpp index 5dfb311fdee..c72405d8670 100644 --- a/src/corelib/io/qfilesystemengine_win.cpp +++ b/src/corelib/io/qfilesystemengine_win.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtCore module of the Qt Toolkit. @@ -138,12 +138,6 @@ typedef struct _REPARSE_DATA_BUFFER { CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS) #endif -#if defined(QT_BOOTSTRAPPED) -# define QT_FEATURE_fslibs -1 -#else -# define QT_FEATURE_fslibs 1 -#endif // QT_BOOTSTRAPPED - #if QT_CONFIG(fslibs) #include #include @@ -411,6 +405,7 @@ constexpr NonSpecificPermissions toNonSpecificPermissions(PermissionTag tag, return NonSpecificPermissions::fromInt((permissions.toInt() >> int(tag)) & 0x7); } +[[maybe_unused]] // Not currently used; included to show how to do it (without bit-rotting). constexpr QFileDevice::Permissions toSpecificPermissions(PermissionTag tag, NonSpecificPermissions permissions) { @@ -477,8 +472,8 @@ QNativeFilePermissions::QNativeFilePermissions(std::optional