From: Matthieu Gallien Date: Thu, 21 Nov 2024 10:52:04 +0000 (+0100) Subject: better logs and factor common code in folder permissions handling X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~5^2~21^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1417e8cb60e84762f94345b21d587fb54bc90b51;p=nextcloud-desktop.git better logs and factor common code in folder permissions handling Signed-off-by: Matthieu Gallien --- diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp index f10fc6135..ceb41fd84 100644 --- a/src/libsync/owncloudpropagator.cpp +++ b/src/libsync/owncloudpropagator.cpp @@ -1474,15 +1474,18 @@ void PropagateDirectory::slotSubJobsFinished(SyncFileItem::Status status) } } else { try { - if (FileSystem::fileExists(propagator()->fullLocalPath(_item->_file))) { - qCDebug(lcDirectory) << propagator()->fullLocalPath(_item->_file) << "old permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions()); - FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_file), FileSystem::FolderPermissions::ReadWrite); - qCDebug(lcDirectory) << propagator()->fullLocalPath(_item->_file) << "new permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions()); + const auto permissionsChangeHelper = [] (const auto fileName) + { + qCDebug(lcDirectory) << fileName << "permissions changed: old permissions" << static_cast(std::filesystem::status(fileName.toStdWString()).permissions()); + FileSystem::setFolderPermissions(fileName, FileSystem::FolderPermissions::ReadWrite); + qCDebug(lcDirectory) << fileName << "applied new permissions" << static_cast(std::filesystem::status(fileName.toStdWString()).permissions()); + }; + + if (const auto fileName = propagator()->fullLocalPath(_item->_file); FileSystem::fileExists(fileName)) { + permissionsChangeHelper(fileName); } - if (!_item->_renameTarget.isEmpty() && FileSystem::fileExists(propagator()->fullLocalPath(_item->_renameTarget))) { - qCDebug(lcDirectory) << "old permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions()); - FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_renameTarget), FileSystem::FolderPermissions::ReadWrite); - qCDebug(lcDirectory) << "new permissions" << static_cast(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions()); + if (const auto fileName = propagator()->fullLocalPath(_item->_renameTarget); !_item->_renameTarget.isEmpty() && FileSystem::fileExists(fileName)) { + permissionsChangeHelper(fileName); } } catch (const std::filesystem::filesystem_error &e)