Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.0
kio
0001-Revert-Support-NTFS-hidden-files.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-Revert-Support-NTFS-hidden-files.patch of Package kio
From 3640475b0a8ea4a2eca060ed0bcf1f8f8da22375 Mon Sep 17 00:00:00 2001 From: Wolfgang Bauer <wbauer@tmo.at> Date: Fri, 4 May 2018 16:22:57 +0200 Subject: [PATCH] Revert "Support NTFS hidden files" This reverts commit d7cce9937d5e9af2753fadb82d11f308b58bb8fa. The new support for NTFS hidden files causes the mountpoint itself to be hidden as well, apparently the root directory of an NTFS partition always has the "hidden" attribute set. https://bugs.kde.org/show_bug.cgi?id=392913 http://bugzilla.opensuse.org/show_bug.cgi?id=1091780 --- src/ioslaves/file/file_unix.cpp | 54 ----------------------------------------- 1 file changed, 54 deletions(-) diff --git a/src/ioslaves/file/file_unix.cpp b/src/ioslaves/file/file_unix.cpp index afa2bd3f..826c46cd 100644 --- a/src/ioslaves/file/file_unix.cpp +++ b/src/ioslaves/file/file_unix.cpp @@ -37,9 +37,6 @@ #include <kmountpoint.h> #include <errno.h> -#if HAVE_SYS_XATTR_H -#include <sys/xattr.h> -#endif #include <utime.h> #include <KAuth> @@ -413,44 +410,6 @@ static bool isLocalFileSameHost(const QUrl &url) return (QString::compare(url.host(), QLatin1String(hostname), Qt::CaseInsensitive) == 0); } -#if HAVE_SYS_XATTR_H -static bool isNtfsHidden(const QString &filename) -{ - constexpr auto attrName = "system.ntfs_attrib_be"; - const auto filenameEncoded = QFile::encodeName(filename); - auto length = getxattr(filenameEncoded.data(), attrName, nullptr, 0); - if (length <= 0) { - return false; - } - constexpr size_t xattr_size = 1024; - char strAttr[xattr_size]; - length = getxattr(filenameEncoded.data(), attrName, strAttr, xattr_size); - if (length <= 0) { - return false; - } - - // Decode result to hex string - static constexpr auto digits = "0123456789abcdef"; - QVarLengthArray<char> hexAttr(static_cast<int>(length) * 2 + 4); - char *c = strAttr; - char *e = hexAttr.data(); - *e++ ='0'; - *e++ = 'x'; - for (auto n = 0; n < length; n++, c++) { - *e++ = digits[(static_cast<uchar>(*c) >> 4)]; - *e++ = digits[(static_cast<uchar>(*c) & 0x0F)]; - } - *e = '\0'; - - // Decode hex string to int - auto intAttr = static_cast<uint>(strtol(hexAttr.data(), nullptr, 16)); - - constexpr auto FILE_ATTRIBUTE_HIDDEN = 0x2u; - return static_cast<bool>(intAttr & FILE_ATTRIBUTE_HIDDEN); -} -#endif - - void FileProtocol::listDir(const QUrl &url) { if (!isLocalFileSameHost(url)) { @@ -555,11 +506,6 @@ void FileProtocol::listDir(const QUrl &url) } else { if (createUDSEntry(filename, QByteArray(ep->d_name), entry, details)) { -#if HAVE_SYS_XATTR_H - if (isNtfsHidden(filename)) { - entry.insert(KIO::UDSEntry::UDS_HIDDEN, 1); - } -#endif listEntry(entry); } } -- 2.13.6
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor