Skip to content

Commit de638f4

Browse files
committed
better logs and factor common code in folder permissions handling
Signed-off-by: Matthieu Gallien <[email protected]>
1 parent 8513593 commit de638f4

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/libsync/owncloudpropagator.cpp

+11-8
Original file line numberDiff line numberDiff line change
@@ -1474,15 +1474,18 @@ void PropagateDirectory::slotSubJobsFinished(SyncFileItem::Status status)
14741474
}
14751475
} else {
14761476
try {
1477-
if (FileSystem::fileExists(propagator()->fullLocalPath(_item->_file))) {
1478-
qCDebug(lcDirectory) << propagator()->fullLocalPath(_item->_file) << "old permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions());
1479-
FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_file), FileSystem::FolderPermissions::ReadWrite);
1480-
qCDebug(lcDirectory) << propagator()->fullLocalPath(_item->_file) << "new permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_file).toStdWString()).permissions());
1477+
const auto permissionsChangeHelper = [] (const auto fileName)
1478+
{
1479+
qCDebug(lcDirectory) << fileName << "permissions changed: old permissions" << static_cast<int>(std::filesystem::status(fileName.toStdWString()).permissions());
1480+
FileSystem::setFolderPermissions(fileName, FileSystem::FolderPermissions::ReadWrite);
1481+
qCDebug(lcDirectory) << fileName << "applied new permissions" << static_cast<int>(std::filesystem::status(fileName.toStdWString()).permissions());
1482+
};
1483+
1484+
if (const auto fileName = propagator()->fullLocalPath(_item->_file); FileSystem::fileExists(fileName)) {
1485+
permissionsChangeHelper(fileName);
14811486
}
1482-
if (!_item->_renameTarget.isEmpty() && FileSystem::fileExists(propagator()->fullLocalPath(_item->_renameTarget))) {
1483-
qCDebug(lcDirectory) << "old permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions());
1484-
FileSystem::setFolderPermissions(propagator()->fullLocalPath(_item->_renameTarget), FileSystem::FolderPermissions::ReadWrite);
1485-
qCDebug(lcDirectory) << "new permissions" << static_cast<int>(std::filesystem::status(propagator()->fullLocalPath(_item->_renameTarget).toStdWString()).permissions());
1487+
if (const auto fileName = propagator()->fullLocalPath(_item->_renameTarget); !_item->_renameTarget.isEmpty() && FileSystem::fileExists(fileName)) {
1488+
permissionsChangeHelper(fileName);
14861489
}
14871490
}
14881491
catch (const std::filesystem::filesystem_error &e)

0 commit comments

Comments
 (0)